MATLAB答案.docx
- 文档编号:10589959
- 上传时间:2023-02-21
- 格式:DOCX
- 页数:46
- 大小:30.22KB
MATLAB答案.docx
《MATLAB答案.docx》由会员分享,可在线阅读,更多相关《MATLAB答案.docx(46页珍藏版)》请在冰豆网上搜索。
MATLAB答案
%Page20,ex1
(5)等于[exp
(1),exp
(2);exp(3),exp(4)]
(7)3=1*3,8=2*4
(8)a为各列最小值,b为最小值所在的行号
(10)1>=4,false,2>=3,false,3>=2,ture,4>=1,ture
(11)答案表明:
编址第2元素满足不等式(30>=20)和编址第4元素满足不等式(40>=10)
(12)答案表明:
编址第2行第1列元素满足不等式(30>=20)和编址第2行第2列元素满足不等式(40>=10)
%Page20,ex2
(1)a,b,c的值尽管都是1,但数据类型分别为数值,字符,逻辑,注意a与c相等,但他们不等于b
(2)double(fun)输出的分别是字符a,b,s,(,x,)的ASCII码
%Page20,ex3
>>r=2;p=0.5;n=12;
>>T=log(r)/n/log(1+0.01*p)
T=
11.5813
%Page20,ex4
>>x=-2:
0.05:
2;f=x.^4-2.^x;
>>[fmin,min_index]=min(f)
fmin=
-1.3907%最小值
min_index=
54%最小值点编址
>>x(min_index)
ans=
0.6500%最小值点
>>[f1,x1_index]=min(abs(f))%求近似根--绝对值最小的点
f1=
0.0328
x1_index=
24
>>x(x1_index)
ans=
-0.8500
>>x(x1_index)=[];f=x.^4-2.^x;%删去绝对值最小的点以求函数绝对值次小的点
>>[f2,x2_index]=min(abs(f))%求另一近似根--函数绝对值次小的点
f2=
0.0630
x2_index=
65
>>x(x2_index)
ans=
1.2500
%Page20,ex5
>>z=magic(10)
z=
929918156774515840
9880714167355576441
4818820225456637047
8587192136062697128
869325296168755234
17247683904249263365
2358289914830323966
7961395972931384572
10129496783537444653
111810077843643502759
>>sum(z)
ans=
505505505505505505505505505505
>>sum(diag(z))
ans=
505
>>z(:
2)/sqrt(3)
ans=
57.1577
46.1880
46.7654
50.2295
53.6936
13.8564
2.8868
3.4641
6.9282
10.3923
>>z(8,:
)=z(8,:
)+z(3,:
)
z=
929918156774515840
9880714167355576441
4818820225456637047
8587192136062697128
869325296168755234
17247683904249263365
2358289914830323966
83871011151198387101115119
10129496783537444653
111810077843643502759
%Page40ex1
先在编辑器窗口写下列M函数,保存为eg2_1.m
function[xbar,s]=ex2_1(x)
n=length(x);
xbar=sum(x)/n;
s=sqrt((sum(x.^2)-n*xbar^2)/(n-1));
例如
>>x=[81706551766690876177];
>>[xbar,s]=ex2_1(x)
xbar=
72.4000
s=
12.1124
%Page40ex2
s=log
(1);n=0;
whiles<=100
n=n+1;
s=s+log(1+n);
end
m=n
计算结果m=37
%Page40ex3
clear;
F
(1)=1;F
(2)=1;k=2;x=0;
e=1e-8;a=(1+sqrt(5))/2;
whileabs(x-a)>e
k=k+1;F(k)=F(k-1)+F(k-2);x=F(k)/F(k-1);
end
a,x,k
计算至k=21可满足精度
%Page40ex4
clear;tic;s=0;
fori=1:
1000000
s=s+sqrt(3)/2^i;
end
s,toc
tic;s=0;i=1;
whilei<=1000000
s=s+sqrt(3)/2^i;i=i+1;
end
s,toc
tic;s=0;
i=1:
1000000;
s=sqrt(3)*sum(1./2.^i);
s,toc
%Page40ex5
t=0:
24;
c=[15141414141516182022232528...
313231292725242220181716];
plot(t,c)
%Page40ex6
%
(1)
x=-2:
0.1:
2;y=x.^2.*sin(x.^2-x-2);plot(x,y)
y=inline('x^2*sin(x^2-x-2)');fplot(y,[-22])
%
(2)参数方法
t=linspace(0,2*pi,100);
x=2*cos(t);y=3*sin(t);plot(x,y)
%(3)
x=-3:
0.1:
3;y=x;
[x,y]=meshgrid(x,y);
z=x.^2+y.^2;
surf(x,y,z)
%(4)
x=-3:
0.1:
3;y=-3:
0.1:
13;
[x,y]=meshgrid(x,y);
z=x.^4+3*x.^2+y.^2-2*x-2*y-2*x.^2.*y+6;
surf(x,y,z)
%(5)
t=linspace(0,2*pi);
x=sin(t);y=cos(t);z=cos(2*t);
plot3(x,y,z)
%(6)
theta=linspace(0,2*pi,50);fai=linspace(0,pi/2,20);
[theta,fai]=meshgrid(theta,fai);
x=2*sin(fai).*cos(theta);
y=2*sin(fai).*sin(theta);z=2*cos(fai);
surf(x,y,z)
%(7)
x=linspace(0,pi,100);
y1=sin(x);y2=sin(x).*sin(10*x);y3=-sin(x);
plot(x,y1,x,y2,x,y3)
%page41,ex7
x=-1.5:
0.05:
1.5;
y=1.1*(x>1.1)+x.*(x<=1.1).*(x>=-1.1)-1.1*(x<-1.1);
plot(x,y)
%page41,ex8
分别使用whichtrapz,typetrapz,dirC:
\MATLAB7\toolbox\matlab\datafun\
%page41,ex9
clear;close;
x=-2:
0.1:
2;y=x;
[x,y]=meshgrid(x,y);
a=0.5457;b=0.7575;
p=a*exp(-0.75*y.^2-3.75*x.^2-1.5*x).*(x+y>1);
p=p+b*exp(-y.^2-6*x.^2).*(x+y>-1).*(x+y<=1);
p=p+a*exp(-0.75*y.^2-3.75*x.^2+1.5*x).*(x+y<=-1);
mesh(x,y,p)
%page41,ex10
lookforlyapunov
helplyap
>>A=[123;456;780];C=[2-5-22;-5-24-56;-22-56-16];
>>X=lyap(A,C)
X=
1.0000-1.0000-0.0000
-1.00002.00001.0000
-0.00001.00007.0000
%Chapter3
%Exercise1
>>a=[1,2,3];b=[2,4,3];a./b,a.\b,a/b,a\b
ans=
0.50000.50001.0000
ans=
221
ans=
0.6552%一元方程组x[2,4,3]=[1,2,3]的近似解
ans=
000
000
0.66671.33331.0000
%矩阵方程[1,2,3][x11,x12,x13;x21,x22,x23;x31,x32,x33]=[2,4,3]的特解
%Exercise2
(1)
>>A=[41-1;32-6;1-53];b=[9;-2;1];
>>rank(A),rank([A,b])%[A,b]为增广矩阵
ans=
3
ans=
3%可见方程组唯一解
>>x=A\b
x=
2.3830
1.4894
2.0213
%Exercise2
(2)
>>A=[4-33;32-6;1-53];b=[-1;-2;1];
>>rank(A),rank([A,b])
ans=
3
ans=
3%可见方程组唯一解
>>x=A\b
x=
-0.4706
-0.2941
0
%Exercise2(3)
>>A=[41;32;1-5];b=[1;1;1];
>>rank(A),rank([A,b])
ans=
2
ans=
3%可见方程组无解
>>x=A\b
x=
0.3311
-0.1219%最小二乘近似解
%Exercise2(4)
>>a=[2,1,-1,1;1,2,1,-1;1,1,2,1];b=[123]';%注意b的写法
>>rank(a),rank([a,b])
ans=
3
ans=
3%rank(a)==rank([a,b])<4说明有无穷多解
>>a\b
ans=
1
0
1
0%一个特解
%Exercise3
>>a=[2,1,-1,1;1,2,1,-1;1,1,2,1];b=[1,2,3]';
>>ksi=null(a),x0=a\b
ksi=
-0.6255
0.6255
-0.2085
0.4170
x0=
1
0
1
0
%通解x=k*ksi+x0
另一种解法
>>rref([a,b])
ans=
1.0000001.50001.0000
01.00000-1.50000
001.00000.50001.0000
%前4列分别对应x1-x4,通解x=k*[-1.5,1.5,-0.5,1]'+[1,0,1,0]'
%Exercise4
%一年后城市=上年城市×99%+上年农村×5%;
%一年后农村=上年城市×1%+上年农村×95%
>>x0=[0.20.8]';a=[0.990.05;0.010.95];
>>x1=a*x0,x2=a^2*x0,x10=a^10*x0
>>x=x0;fori=1:
1000,x=a*x;end,x
x=
0.8333
0.1667
>>x0=[0.70.3]';
>>x=x0;fori=1:
1000,x=a*x;end,x
x=
0.8333
0.1667%注意结果不受x0改变的影响
>>[v,e]=eig(a)
v=
0.9806-0.7071
0.19610.7071
e=
1.00000
00.9400
>>v(:
1)./x
ans=
1.1767
1.1767
%v(:
1)与x成比例,说明x也是最大特征值1对应的特征向量
%Exercise5
%用到公式(3.11)(3.12)
>>B=[6,2,1;2.25,1,0.2;3,0.2,1.8];x=[25520]';
>>C=B/diag(x)%第1列除以x
(1),以此类推
C=
0.24000.40000.0500
0.09000.20000.0100
0.12000.04000.0900
>>A=eye(3,3)-C
A=
0.7600-0.4000-0.0500
-0.09000.8000-0.0100
-
%Exercise1
(1)
p=[111];
x=roots(p)
polyval(p,x)%验算,结果应为零
%Exercise1
(2)
roots([30-402-1])
%Exercise1(3)
p=zeros(1,24);
p([1171822])=[5-68-5];%这样比直接写24个系数简短。
x=roots(p)
polyval(p,x)%验算,结果应为零
%Exercise1(4)
p1=[23];
p2=conv(p1,p1);
p3=conv(p1,p2);
p3(end)=p3(end)-4;%原p3最后一个分量-4
x=roots(p3)
polyval(p3,x)%验算,结果应为零
%Exercise2
fun=inline('x*log(sqrt(x^2-1)+x)-sqrt(x^2-1)-0.5*x');
fzero(fun,2)%注意定义域,初值须大于1
%Exercise3
fun=inline('x^4-2^x');
fplot(fun,[-22]);gridon;
fzero(fun,-1),fzero(fun,1),fminbnd(fun,0.5,1.5)
%Exercise4
fun=inline('x*sin(1/x)','x');
fplot(fun,[-0.10.1]);
x=zeros(1,10);fori=1:
10,x(i)=fzero(fun,(i-0.5)*0.01);end;
x=[x,-x]
%Exercise5
fun=inline('[9*x
(1)^2+36*x
(2)^2+4*x(3)^2-36;x
(1)^2-2*x
(2)^2-20*x(3);16*x
(1)-x
(1)^3-2*x
(2)^2-16*x(3)^2]','x');
[a,b,c]=fsolve(fun,[000])
%Exercise6
fun=@(x)[x
(1)-0.7*sin(x
(1))-0.2*cos(x
(2)),x
(2)-0.7*cos(x
(1))+0.2*sin(x
(2))];
[a,b,c]=fsolve(fun,[0.50.5])%初值0 (1)<1,0 (2)<1 %Exercise7 clear;close;t=0: pi/100: 2*pi; x1=2+sqrt(5)*cos(t);y1=3-2*x1+sqrt(5)*sin(t); x2=3+sqrt (2)*cos(t);y2=6*sin(t); plot(x1,y1,x2,y2);gridon;%作图发现4个解的大致位置,然后分别求解 y1=fsolve('[(x (1)-2)^2+(x (2)-3+2*x (1))^2-5,2*(x (1)-3)^2+(x (2)/3)^2-4]',[1.5,2]) y2=fsolve('[(x (1)-2)^2+(x (2)-3+2*x (1))^2-5,2*(x (1)-3)^2+(x (2)/3)^2-4]',[1.8,-2]) y3=fsolve('[(x (1)-2)^2+(x (2)-3+2*x (1))^2-5,2*(x (1)-3)^2+(x (2)/3)^2-4]',[3.5,-5]) y4=fsolve('[(x (1)-2)^2+(x (2)-3+2*x (1))^2-5,2*(x (1)-3)^2+(x (2)/3)^2-4]',[4,-4]) %Exercise8 (1) clear; str='x.^2.*sin(x.^2-x-2)';%注意数组点运算 fun=inline(str); fplot(fun,[-22]);gridon;%作图观察 x (1)=-2; x(3)=fminbnd(fun,-1,-0.5); x(5)=fminbnd(fun,1,2); fun2=inline(['-',str]); x (2)=fminbnd(fun2,-2,-1); x(4)=fminbnd(fun2,-0.5,0.5); x(6)=2 feval(fun,x) %答案: 以上x (1)(3)(5)是局部极小,x (2)(4)(6)是局部极大,从最后一句知道x (1)全局最小,x (2)最大。 %Exercise8 (2) clear; fun=inline('3*x.^5-20*x.^3+10'); fplot(fun,[-33]);gridon;%作图观察 x (1)=-3; x(3)=fminsearch(fun,2.5); fun2=inline('-(3*x.^5-20*x.^3+10)'); x (2)=fminsearch(fun2,-2.5); x(4)=3; feval(fun,x) %Exercise8(3) fun=inline('abs(x^3-x^2-x-2)'); fplot(fun,[03]);gridon;%作图观察 fminbnd(fun,1.5,2.5) fun2=inline('-abs(x^3-x^2-x-2)'); fminbnd(fun2,0.5,1.5) %Exercise9 close; x=-2: 0.1: 1;y=-7: 0.1: 1; [x,y]=meshgrid(x,y); z=y.^3/9+3*x.^2.*y+9*x.^2+y.^2+x.*y+9; mesh(x,y,z);gridon;%作图观察,可看到[00]附近极小值,[0-5]附近极大值 fun=inline('x (2)^3/9+3*x (1)^2*x (2)+9*x (1)^2+x (2)^2+x (1)*x (2)+9'); x=fminsearch(fun,[00])%求极小值 fun2=inline('-(x (2)^3/9+3*x (1)^2*x (2)+9*x (1)^2+x (2)^2+x (1)*x (2)+9)'); x=fminsearch(fun2,[0-5])%求极大值 %Exercise10 clear;t=0: 24; c=[15141414141516182022232528... 313231292725242220181716]; %第 (1)小题 p2=polyfit(t,c,2) %第 (2)小题 p3=polyfit(t,c,3) %第(3)小题非线性拟合法 fun=inline('a (1)*exp(a (2)*(t-14).^2)','a','t'); a=lsqcurvefit(fun,[00],t,c)%初值可以试探,这里用a=0,b=0试探 f=feval(fun,a,t) norm(f-c)%误差向量的范数,反映拟合效果 plot(t,c,'o',t,f)%作图检验 %第(3)小题线性化拟合方法 %先作对数变换lnf=lna+b*(t-14)^2 z=log(c);x=(t-14).^2; p1=polyfit(x,z,1); a=[exp(p1 (2)),p1 (1)] f1=feval(fun,a,t) norm(f1-c)%拟合效果 plot(t,c,'o',t,f1)%作图检验 %第(4)小题 fun2=inline('b (1)*sin(pi/12*t+b (2))+20','b','t');%原题修改为f(x)+20,结果较合理 b=lsqcurvefit(fun2,[00],t,c)%初值可以试探,这里用a=0,b=0试探 figure f2=feval(fun2,b,t) norm(f2-c)%拟合效果 plot(t,c,'o',t,f2)%作图检验 %Exercise11 fun=inline('(1-x)*sqrt(10.52+x)-3.06*x*sqrt(1+x)*sqrt(5)'); x=fzero(fun,0,1) %Exercise12 r=5.04/12/100;N=20*12; x=7500*180%房屋总价格 y=x*0.3%首付款额 x0=x-y%贷款总额 a=(1+r)^N*r*x0/((1+r)^N-1)%月付还款额 %以下组合贷款 r1=4.05/12/100;x1=10*10000;%公积金贷款 a1=(1+r1)^N*r1*x1/((1+r1)^N-1) x2=x0-x1%商业贷款 a2=(1+r)^N*r*x2/((1+r)^N-1) a=a1+a2 %Exercise13 %列方程th*R^2+(pi-2*th)*r^2-R*r*sin(th)=pi*r^2/2 %化简得sin(2*th)-2*th*cos(2*th)=pi/2 %以下Matlab计算 clear;fun=inline('sin(2*th)-2*th*cos(2*th)-pi/2','th') th=fsolve(fun,pi/4) R=20*cos(th) %Exercise14 %先在Editor窗口写M函数保存 functionx=secant(fname,x0,x1,e) whileabs(x0-x1)>e, x=x1-(x1-x0)*feval(fname,x1)/(feval(fname,x1)-feval(fname,x0)); x0=x1;x1=x; end %再在指令窗口 fun=inline('x*log(sqrt(x^2-1)+x)-sq
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- MATLAB 答案