matlab总练习题完整版.docx
- 文档编号:9606375
- 上传时间:2023-02-05
- 格式:DOCX
- 页数:26
- 大小:143.94KB
matlab总练习题完整版.docx
《matlab总练习题完整版.docx》由会员分享,可在线阅读,更多相关《matlab总练习题完整版.docx(26页珍藏版)》请在冰豆网上搜索。
matlab总练习题完整版
K显示20位有效数字鸡卫的近似值;
>>vpa('pi',20)
ans=
3.85
>>vpa('exp
(1)',20)
ans=
2.54
2.将区间[-码卸20等分,并以行向量形式给岀正弦函数在这些节点上的函数值;
>>x=linspace(_pi,pi,21);
>>y=sin(x)
Columns1through6
-0.0000-0.3090-0.5878-0.8090-0.9511-1.0000
Columns7through12
0.3090
-0.9511-0.8090-0.5878-0.3090
Columns13through18
0.58780.80900.95111.00000.95110.8090
Columns19through21
0.58780.30900.0000
>>k=1:
1000;
>>kk=1./k;
>>kkk=kk./k;
>>res=sum(kkk)-(piA2)/6res=
-9.9950e-04
iwu1
4”计算£7-ln(l(KK»的近似值(无带度要求];
%承接上题
>>sum(kk)-log(1000)ans=
0.5777
5.计算极限]+
>>power(1+eps,1/eps)ans=
2.7183
&计算;(MuPad命令}
7.生成两亍用中的随机向量并计养它们的内积,向境长:
度,问量之间的
夹角;
>>a=rand(2,3)
0.8147
0.1270
0.6324
0.9058
0.9134
0.0975
>>x=a(1,:
)
x=
0.81470.12700.6324
>>y=a(2,:
)
y=
0.90580.91340.0975
>>norm(x)
ans=
1.0391
>>norm(y)
ans=
1.2900
>>acos(dot(x,y)/norm(x)/norm(y))
ans=
0.8189
&生成三个疋中的随机向屋仏拭5判斷它们是否线性无关;
>>rand(3,3)
ans=
0.2785
0.9649
0.9572
0.5469
0.1576
0.4854
0.9575
0.9706
0.8003
>>det(ans)ans=
0.2937
线性无关
g.生成三个f中的随机三个点匸,计算它们构成的三角形的面积;
a=
0.39220.7060
0.6555
0.0318
>>x=a(1,:
)
0.3922
0.7060
>>y=a(2,:
)
0.6555
0.0318
>>z=a(3,:
)
0.1712
0.2769
>>alpha=x-zalpha=
0.2210
0.4291
>>beta=y-zbeta=
0.4843-0.2451
>>alpha=[alpha0]
alpha=
0.22100.42910
>>beta=[beta0]
beta=
0.4843-0.24510
>>cross(alpha,beta)ans=
0-0.2620
面积0.2620
%
)2
13
…IF
21
22
23
29
10.建立矩阵貝二
31
32
33
…39
aBv■
,并计臬该矩阵的秩;
92
93
…99丿
>>a=11:
19;
>>b=a;
>>fork=1:
8b=[b;a+10*k];end
>>rank(b)ans=
ILit立Vandermonde柜阵片二
11
…1'
12Z2
…2*
1332
…3总
:
:
-
■.■■■
J9少
…d
,并计算该矩阵形城的行
>>a=vander(1:
9);
>>b=fliplr(a)
Columns1through5
1
1
1
1
1
1
2
4
8
16
1
3
9
27
81
1
4
16
64
256
1
5
25
125
625
1
6
36
216
1296
1
7
49
343
2401
1
8
64
512
4096
1
9
81
729
6561
Columns6through9
1
1
1
1
32
64
128
256
243
729
2187
6561
1024
4096
16384
65536
3125
15625
78125
390625
7776
46656
279936
1679616
16807
117649
823543
5764801
32768
262144
2097152
16777216
59049
531441
4782969
43046721
>>det(b)ans=
5.0566e+15
12-用两种不同的方式定义二元函数/乩“二严刃+血井在相应览义形式下计算AU);
方式一>>f=(x,y)exp(x+y)+sin((x^2)+(yA2))
(x,y)exp(x+y)+sin((x^2)+(yA2))>>f(1,2)ans=
19.1266
方式二
functionf=myfunfun(x,y)
f=exp(x+y)+sin((xA2)+(yA2));
>>myfunfun(1,2)ans=
13-血的辺0位小数近似值为:
1.414213562373095048801688724209698078569671875376948073
1766797379907324784621070388503875343276415727;
>>
Char1.5727
>>a=ans;
>>sqrt2char(3-2)=a(3)
sqrt2char=
5727
>>forx=1:
100
b(x)=str2num(sqrt2char(x))
end
>>sum(b)/100
ans=
14-㈱出函数几0・心血何+,/3+开血(盂}在区间卜即]上的图象.并计算岀
该区间上的两个零点;
f=(x)(xA3)*sin(x)+(x^2)/3+x*cos(x)
(x)(x^3)*sin(x)+(xA2)/3+x*cos(x)
>>x0=fzero(f,-1)
x0=
>>ezplot(f,-2,1)
RhEdit
V«nvImvctTddI«
Dnktep
*
□Jd
kx■>r?
5
◎1□到■n
另一根为0,是显然的
-X-ZT.X<-JT
15.Pi出分段函数/⑴h鈕(鼻),-圧3<,在区间卜乞6]上的圏象;'(.r-7t)l2^x>n
functiony=difun(x)
ifxv-pi
y=-x-pi;
elseifx>-pi&x y=sin(x); else y=(x-pi)/2; end end >>y=[] [] >>forx=-6: 0.05: 6 y=[ydifun(x)]; end>>plot(x,y) >>plot([-6: 0.05: 6],y) 16.分别用矩形公式片梯形公式"Simpson公式计算积分(右点的近似值, 并以这些近似値计算岀汙的近似值; >>pi/4ans= 0.7854%pi/4的理想值 矩形公式: functiony=rectangle(n) x=0: 1/n: 1; a=1./(1+x.*x); y=sum(a)*(1/n); end >>rectangle(1000) ans= 0.7861 >>rectangle(10000) ans= 0.7855 >>rectangle(100000) ans= 0.7854 梯形公式: functiony=trapezoid(n) x=0: 1/n: 1; a=1./(1+x.*x); begin=a (1); endd=a(n+1); a (1)=0; a(n)=0; y=sum(a)*(1/n)+begin*(1/n)*0.5+endd*(1/n)*0.5; end trapezoid(1000) ans= 0.7854 >>trapezoid(100) ans= 0.7853 Simpson公式 functiony=simpson(n) x=0: 1/n: 1; a=thefun(x); begin=a (1); endd=a(n+1); medium=[]; forx=1: n medium=[medium(a(x)+a(x+1))*0.5]; end a (1)=0; a(n)=0; y=begin*(1/n)*(1/6)+endd*(1/n)*(1/6)+sum(a)*(1/n)*(1/3)+sum(medium)*( 1/n)*(1/6)*4; end functione=thefun(r)e=1./(1+r.*r); end >>simpson(100) ans= 0.7854 >>simpson(10)ans=0.7832 17.求解线性方程组心=虬其中 ・6 2 2 4 1 1 0 ] A: = 2 1 1 4 4 5 ■・1 0 3. >>A=[621-1;2410;114-1;-10-13]; >>b=[615-5]'; >>x=A\b 0.7906 -0.3613 0.8639 -1.1152 定义一呻对角矩阵 以及一个单泣矩阵 o 0 3 0 Q A 0 0 4 J r <0 fl 0 0 0 I Q 0 0) 0 ■ 0 0 0 1 0 0■ 拼咸貳阵 I 0 0 3 0 0 0 1 0 |Q 0 0 4 0 0 0 1' C00oxi 0 1 訂 0 00. 00 ]o,并将它m搜処 o11 JF >>[diag(1: 4)eye(4)]ans= 1 0 0 0 1 0 0 0 0 2 0 0 0 1 0 0 0 0 3 0 0 0 1 0 0 0 0 4 0 0 0 1 19.输出如下所示的杨釋三角形(也称为Pascal形): 1 kl 1,2.1 1,3,3,1 1,4,6,4,1 l,5t10,10.5,1 1.6.15,20,15,6,1 L7P21,35,35,21,7f1 1,&2&56,70,56.2&&1 1.Z36,84,126,12&84.36,9,1 1,10,45.120f210,252,210t120,45,10,1 functionyh=yhsj(n) yh=1; disp (1); fork=2: n yh=[yh,0]+[0,yh]; disp(yh)end end %n=11运行 1 3□ 1 1 4 e 4 1 1 io IQ & 1 1 € 16 20 16 甘 1 1 丁 21 2B 35 21 才 1 1 e 70 5$ 0 1 1 a 襄 B4, LZ& L2& 54 9 1 1 ICi 46 120 210* 262 2T1CI 120 45 10 20.计算曲线y=扌门⑺£工£册的弧长;(弧长公式£Jl+rW-rfr) >>x=sym('x'); >>f=sqrt(1+((4/9)*xA(1/2))人2) ((16*x)/81+1)A(1/2) >>a=sym('a'); >>b=sym('b'); ans= (16*b+81)人(3/2)/216-(16*a+81)人(3/2)/216 21-讣算摆线囂爲贈严5的十形的弧圮 >>t=sym('t'); >>a=sym('a'); >>x=a*(t-sin(t))a*(t-sin(t)) >>y=a*(1-cos(t)) -a*(cos(t)-1) >>dx=diff(x) dx= -a*(cos(t)-1) >>dy=diff(y)dy=a*sin(t) >>int(sqrt(dxA2+dyA2),0,2*pi)ans= 8*(aA2)A(1/2) 22.(TrQh(-拓/2厂%0心)』拓/2」),(眄0)是函数A<|图象上的5个 点[试构造过该5点的多项式执对,井将弘(球卩何的图象桶在同一亍坐标系中; >>p=polyfit([-pi-pi/20pi/2pi],[O-1010],5) P= Columns1through5 Column6 -0.0000 >>plot([-pi: pi/100: pi],polyval(p,-pi: pi/100: pi)); >>holdon >>plot([-pi: pi/100: pi],sin(-pi: pi/100: pi)); >> 药.试编牙洽程序它以…个正整数为参数・返回它的备位数字构成的行向屋「例如二fun23(12345J返回[「2山,4*5]・ functiona=num2p(n) strr=num2str(n); index=size(strr); indexx=index (2); a=[]; fork=indexx-1: -1: 0 a=[arem(fix(n/(10Ak)),10)]; end end >>num2p()ans= Columns1through8 95489298 Columns9through11 494 24.i殳计…个榄拟蒙特卡罗随机方建计漳Pi近似值的程序; 比如产生M个[-1,1]*[-1,1]^的随机点,统计出位于单位圏内的点 的个数鬥则P/N约为Pi“・ functionppi=ttry(n) pointx=-1+2*rand(1,n); pointy=-1+2*rand(1,n); index=pointx.*pointx+pointy.*pointy; indexx=index<=1; ppi=4*sum(indexx)/n; end >>ttry(100)ans= 3.1200 >>ttry(10000)ans= 3.1376 25.Collate猜想是至今没有解决的数学问题.将任意…牛口然数珂故如下迭代过程,若是偶数'将它除以N否则将它乘以3再加•如此迭代下去-Cdll^tz猜想一定会得到1: 请你编写一个程序,对该猜想做检验* functiony=collatz(n) ifn==1 y=1 return; else ifrem(n,2)==0 n=n/2; else n=3*n+1; end n y=collatz(n); end >>collatz(12) n= 6 n= 3 n= 16 1 26-对歯数在[0,1]区间上进行丄0等分并作等距节点上的务项氏 插值,对计算所得的号项式在[0,1]«! 分.比鞭得到的积分值马原来函垃的积分 值的误差。 >>f=(x)1丿(1+X42)f= (x)1./(1+x.A2) >>y=f(x); >>x=O: O.1: 1; >>y=f(x);>>p=polyfit(x,y,5) Columns1through5 -0.23720.35290.5071-1.1343 0.0115 Column6 0.9999 >>intp=polyint(p) intp= Columns1through5 -0.03950.07060.1268-0.3781 0.0058 Columns6through7 0.99990 >>res1=polyval(intp,1)-polyval(intp,0) res1= >>atan (1)ans= 0.7854%actan⑴公式解 27,通过文件操作功能,从丸件pi_lm.txt中读取Pi小数点后的100W统计出0门出现的次数,井将绪果写出到外部文件氓*文件pi_lm.tx匕可从课程ftp下載- 的文档2\matlab作业\pi_1m.txt','r') fid= 3 >>b=fscanf(fid,'%s'); >>fclose(fid)ans= >>b(1: 55)=[]; 编辑“givemerun.m”文件: y=1; n=zeros(1,10) flag=0; forx=1: 1500000 ify==1000001 break else ifb(x)~='['&flag==0&isempty(str2num(b(x)))~=1c=b(x); d=str2double(c); n(d+1)=n(d+1)+1; y=y+1; elseifb(x)=='[' flag=1; elseifb(x)==']' flag=0; end end end n >>givemerun%运行“givemerun” 000000 Columns1through3 9995999758100026 Columns4through6 100229100230100359 Columns7through9 995489980099985 Column10 100106 %分别为0,1,2,…,8,9在前一百万位出现的次 >>sum(n) ans= 1000000 >>cc=num2str(n) cc= 9995999758100026100229100230100359995489980099985 100106>>fopen('res.txt','w') ans= >>fprintf(6,cc) ans= 78 ■ 文w 9975810002610022310023010035G99o48购8D0 99985100106 V Z$・任勢…个四个数字不全相等的四位数’将它的4个数字组成最大4位数,最小4位数.将所得婀数相减,得到一个新的4位数(不足4位则补0),依次执行这个过程,最终总可M得到6175请编程加M验证. functionf=veryfun(n) ifn==6174 return else index (1)=(n-rem(n,1000))/1000; index (2)=fix(n/100)-index⑴*10; index(3)=rem(fix(n/10),10); index(4)=rem(n,10); index2=sort(index,'ascend'); index3=sort(index,'descend'); a=[1000100101]; max=index3*(a'); min=index2*(a'); max-min veryfun(max-min); end end >>veryfun(9864) ans= 5175 ans= 5994 ans= 5355 ans= 1998 ans= 8082 ans= 8532 ans= 6174 29 在骄究化学反应速度时•得到下列数攜。 找出实验”曲隨的时间f与反应物的H朋之间的关系•井画出拟台曲线。 X 3 61 I■~! l7i 12 - 21 24 m 57.6 4i5 ■312 22.9 15.4 121 89 I (提示与r的关*为開二口匕协" functionm=tem(index,t) m=index⑴.*exp(index (2).*t)end >>[index,r,j,c,m,e]=nlinfit(t,m,tem,[00])index= 78.7137-0.1047 %在这里省略中间的迭代过程和表格变量输入过程 >>m=tem(index,[0: 0.1: 25]); >>plot([0: 0.1: 25],m) 丸”任给一个由10个两位数(10-39)组成的樂合.编写程序输出这个集合的两 个不相交的的子集,使得这两个子樂的元素和相等, functionson=sonfind(A) index=sum(A)/2; fork=1: 5 b=nchoosek([1: 10],k);sizee=size(b); kk=sizee (1); forx=1: kk c=b(x,: ); A_son=[]; fory=c A_son=[A_sonA(y)]; end ifsum(A_son)==index son=A_son; break end end endend %集合元素有互异性,但不影响验证! >>sonfind(11: 20) >>sonfind([105510601010101010])ans= 5560 >>sonfind([101010109010
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- matlab 练习题 完整版