Matlab习题.docx

上传人:b****8 文档编号:10478845 上传时间:2023-02-13 格式:DOCX 页数:61 大小:384.65KB
下载 相关 举报
Matlab习题.docx_第1页
第1页 / 共61页
Matlab习题.docx_第2页
第2页 / 共61页
Matlab习题.docx_第3页
第3页 / 共61页
Matlab习题.docx_第4页
第4页 / 共61页
Matlab习题.docx_第5页
第5页 / 共61页
点击查看更多>>
下载资源
资源描述

Matlab习题.docx

《Matlab习题.docx》由会员分享,可在线阅读,更多相关《Matlab习题.docx(61页珍藏版)》请在冰豆网上搜索。

Matlab习题.docx

Matlab习题

习题1

1.执行下列指令,观察其运算结果,理解其意义:

(1)[12;34]+10-2i

(2)[12;34].*[0.10.2;0.30.4]

(3)[12;34].\[2010;92]

(4)[12;34].^2

(5)exp([12;34])

(6)log([110100])

(7)prod([12;34])

(8)[a,b]=min([1020;3040])

(9)abs([12;34]-pi)

(10)[12;34]>=[4,3;21]

(11)find([1020;3040]>=[40,30;2010])

(12)[a,b]=find([1020;3040]>=[40,30;2010])(提示:

a为行号,b为列号)

(13)all([12;34]>1)

(14)any([12;34]>1)

(15)linspace(3,4,5)生成线性等距向量

(16)A=[12;34];A(:

2)

%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)

2.执行下列指令,观察其运算结果、变量类型和字节数,理解其意义:

(1)clear;a=1,b=num2str(a),c=a>0,a==b,a==c,b==c

(2)clear;fun='abs(x)',x=-2,eval(fun),double(fun)

%Page20,ex2

(1)a=1b=1c=1ans=0ans=1ans=0

a,b,c的值尽管都是1,但数据类型分别为数值,字符,逻辑,注意a与c相等,但他们不等于b。

(2)double(fun)输出的分别是字符a,b,s,(,x,)的ASCII码

3.本金K以每年n次,每次p%的增值率(n与p的乘积为每年增值额的百分比)增加,当增加到rK时所花费的时间为

(单位:

年)

%Page20,ex3

>>r=2;p=0.5;n=12;

>>T=log(r)/n/log(1+0.01*p)

T=

11.5813

用MATLAB表达式写出该公式并用下列数据计算:

r=2,p=0.5,n=12.

4.已知函数f(x)=x42x在(-2,2)内有两个根。

取步长h=0.05,通过计算函数值求得函数的最小值点和两个根的近似解。

(提示:

求近似根等价于求函数绝对值的最小值点)

%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

5.

(1)用z=magic(10)得到10阶魔方矩阵;

(2)求z的各列元素之和;

(3)求z的对角线元素之和(提示:

先用diag(z)提取z的对角线);

(4)将z的第二列除以

;

(5)将z的第3行元素加到第8行。

6.先不用MATLAB判断下面语句将显示什么结果?

size(B)又得出什么结果?

B1={1:

9;'DavidBeckham'};

B2={180:

-10:

100;[100,80,75,;77,60,92;672890;1008978]};

B=[B1,B2];

B{1,2}(8)

D=cell2struct(B,{'f1','f2'},2);

[a,b]=D.f1

然后用MATLAB验证你的判断。

进一步,察看变量类型和字节数,并用Workspace工具栏显示B和D的具体内容。

习题2

1.设x为一个长度为n的数组,编程求下列均值和标准差

n>1

%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

2.求满足

>100的最小m值。

%Page40ex2

s=log

(1);n=0;

whiles<=100

n=n+1;

s=s+log(1+n);

end

m=n

计算结果m=37

3.用循环语句形成Fibonacci数列F1=F2=1,Fk=Fk-1+Fk-2,k=3,4,…。

并验证极限

.(提示:

计算至两边误差小于精度10-8)

%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可满足精度

4.分别用for和while循环结构编写程序,求出

并考虑一种避免循环语句的程序设计,比较不同算法的运行时间。

%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

5.假定某天的气温变化记录如下表,试作图描述这一天的气温变化规律。

时刻t(h)

0

1

2

3

4

5

6

7

8

9

10

11

12

温度oC(t)

15o

14o

14o

14o

14o

15o

16o

18o

20o

22o

23o

25o

28o

时刻t(h)

13

14

15

16

17

18

19

20

21

22

23

24

温度oC(t)

31o

32o

31o

29o

27o

25o

24o

22o

20o

18o

17o

16o

%Page40ex5

t=0:

24;

c=[15141414141516182022232528...

313231292725242220181716];

plot(t,c)

6.作出下列函数图象

(i)曲线y=x2sin(x2-x-2),-2x2(要求分别使用plot或fplot完成)

%

(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])

(ii)椭圆x2/4+y2/9=1

%

(2)参数方法

t=linspace(0,2*pi,100);

x=2*cos(t);y=3*sin(t);plot(x,y)

(iii)抛物面z=x2+y2,x<3,y<3

%(3)

x=-3:

0.1:

3;y=x;

[x,y]=meshgrid(x,y);

z=x.^2+y.^2;

surf(x,y,z)

(iv)曲面z=x4+3x2+y2-2x-2y-2x2y+6,|x|<3,-3

%(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)

(v)空间曲线x=sint,y=cost,z=cos(2t),0

%(5)

t=0:

0.01:

2*pi;

x=sin(t);y=cos(t);z=cos(2*t);

plot3(x,y,z)

(vi)半球面x=2sincos,y=2sinsin,z=2cos,03600,0900

%(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)

(vii)三条曲线合成图y1=sinx,y2=sinxsin(10x),y3=sinx,0

%(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)

7.作下列分段函数图

%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)

8.查询trapz的功能和用法:

查找trapz.m文件所在目录,查看trapz.m的程序结构,查看trapz.m文件所在目录还有哪些文件?

9.用MATLAB函数表示下列函数,并作图。

%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)

10.已知连续时间Lyapunov方程为

AX+XA’=C

其中A=

C=

.试通过lookfor和help的帮助用MATLAB求解。

%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

习题3

1.设a=(1,2,3),b=(2,4,3),分别计算a./b,a.\b,a/b,a\b,分析结果的意义。

%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]的特解

2.用矩阵除法解下列线性方程组,并判断解的意义

(1)

%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

(2)

%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

(3)

%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%最小二乘近似解

(4)

%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%一个特解

3.求第2题第(4)小题的通解。

%Exercise3

>>a=[2,1,-1,1;1,2,1,-1;1,1,2,1];b=[1,2,3]';

>>x=null(a),x0=a\b

x=

-0.6255

0.6255

-0.2085

0.4170

x0=

1

0

1

0

%通解kx+x0

4.(人口流动趋势)对城乡人口流动作年度调查,发现有一个稳定的朝向城镇流动的趋势,每年农村居民的5%移居城镇而城镇居民的1%迁出,现在总人口的20%位于城镇。

假如城乡总人口保持不变,并且人口流动的这种趋势继续下去,那么

(1)一年以后住在城镇人口所占比例是多少?

两年以后呢?

十年以后呢?

(2)很多年以后呢?

(3)如果现在总人口70%位于城镇,很多年以后城镇人口所占比例是多少?

(4)计算转移矩阵的最大特征值及对应的特征向量,与问题

(2)(3)有何关系?

%Exercise4

>>x0=[0.20.8]';a=[0.990.05;0.010.95];

>>x1=a*x,x2=a^2*x,x10=a^10*x

>>x=x0;fori=1:

1000,x=a*x;end,x

x=

0.8333

0.1667

>>x0=[0.80.2]';

>>x=x0;fori=1:

1000,x=a*x;end,x

x=

0.8333

0.1667

>>[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%成比例,说明x是最大特征值对应的特征向量

5.(经济预测)在某经济年度内,各经济部门的投入产出表如下表3.5(单位:

亿元)

消耗部门

最后需求

总产值

工业

农业

第三产业

工业

6

2

1

16

25

农业

2.25

1

0.2

1.55

5

第三产业

3

0.2

1.8

15

20

假设某经济年度工业,农业及第三产业的最后需求均为17亿元,预测该经济年度工业,农业及第三产业的产出(提示:

对于一个特定的经济系统而言,直接消耗矩阵和Leontief矩阵可视作不变)。

%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)

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

-0.1200-0.04000.9100

>>D=[171717]';x=A\D

x=

37.5696

25.7862

24.7690

6.求下列矩阵的行列式、逆、特征值和特征向量

(1)

(2)

(3)

%Exercise6

(1)

>>a=[41-1;32-6;1-53];det(a),inv(a),[v,d]=eig(a)

ans=

-94

ans=

0.2553-0.02130.0426

0.1596-0.1383-0.2234

0.1809-0.2234-0.0532

v=

0.0185-0.9009-0.3066

-0.7693-0.1240-0.7248

-0.6386-0.41580.6170

d=

-3.052700

03.67600

008.3766

%Exercise6

(2)

>>a=[11-1;02-1;-120];det(a),inv(a),[v,d]=eig(a)

ans=

1

ans=

2.0000-2.00001.0000

1.0000-1.00001.0000

2.0000-3.00002.0000

v=

-0.57730.5774+0.0000i0.5774-0.0000i

-0.57730.57740.5774

-0.57740.5773-0.0000i0.5773+0.0000i

d=

1.000000

01.0000+0.0000i0

001.0000-0.0000i

%Exercise6(3)

>>A=[5765;71087;68109;57910]

A=

5765

71087

68109

57910

>>det(A),inv(A),[v,d]=eig(A)

ans=

1

ans=

68.0000-41.0000-17.000010.0000

-41.000025.000010.0000-6.0000

-17.000010.00005.0000-3.0000

10.0000-6.0000-3.00002.0000

v=

0.83040.09330.39630.3803

-0.5016-0.30170.61490.5286

-0.20860.7603-0.27160.5520

0.1237-0.5676-0.62540.5209

d=

0.0102000

00.843100

003.85810

00030.2887

(4)

n分别为5,50,和500.

%Exercise6(4)(以n=5为例)

%关键是矩阵的定义

%方法一(三个for)

n=5;

fori=1:

n,a(i,i)=5;end

fori=1:

(n-1),a(i,i+1)=6;end

fori=1:

(n-1),a(i+1,i)=1;end

a

%方法二(一个for)

n=5;a=zeros(n,n);

a(1,1:

2)=[56];

fori=2:

(n-1),a(i,[i-1,i,i+1])=[156];end

a(n,[n-1n])=[15];

a

%方法三(不用for)

n=5;a=diag(5*ones(n,1));

b=diag(6*ones(n-1,1));

c=diag(ones(n-1,1));

a=a+[zeros(n-1,1),b;zeros(1,n)]+[zeros(1,n);c,zeros(n-1,1)]

%下列计算

>>det(a)

ans=

665

>>inv(a)

ans=

0.3173-0.58651.0286-1.62411.9489

-0.09770.4887-0.85711.3534-1.6241

0.0286-0.14290.5429-0.85711.0286

-0.00750.0376-0.14290.4887-0.5865

0.0015-0.00750.0286-0.09770.3173

>>[v,d]=eig(a)

v=

-0.7843-0.7843-0.92370.9860-0.9237

0.5546-0.5546-0.3771-0.00000.3771

-0.2614-0.26140.0000-0.16430.0000

0.0924-0.09240.0628-0.0000-0.0628

-0.0218-0.02180.02570.02740.0257

d=

0.75740000

09.2426000

007.449500

0005.00000

00002.5505

7.判断第6题各小题是否可以相似对角化,如果是,求出对角矩阵和对应的相似变换矩阵。

8.判断第6题各小题是否为正定矩阵。

9.求下列向量组的秩和它的一个最大线性无关组,并将其余向量用该最大无关组线性表示。

1=(4,-3,1,3),2=(2,-1,3,5),3=(1,-1,-1,-1),4=(3,-2,3,4),5=(7

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 高等教育 > 管理学

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1