文档库 最新最全的文档下载
当前位置:文档库 › 第三章MATLAB

第三章MATLAB

第三章MATLAB
第三章MATLAB

1.将(X-9)(X-3)(X-8)展开为系数多项式的形式,并求多项式在5、7、9处的值a=[9 3 8]

a =

9 3 8

p=poly(a)

p =

1 -20 123 -216

poly2sym(p)

ans =

x^3-20*x^2+123*x-216

polyvalm(p,5

ans = 24

polyvalm(p,7)

ans =8

polyvalm(p,9)

ans = 0

2.用roots命令求多项式x^5-x^4+2x^3-5x^2+7x-18的根。

a=[1 -1 2 -5 7 -18];

r=roots(a)

r =

-1.0648 + 1.5298i

-1.0648 - 1.5298i

1.8390

0.6453 + 1.5495i

0.6453 - 1.5495i

3.计算两多项式x^5-5x^3+3x^2-4x+2和x^3+2x^2-5x+3的乘法。

c=conv([1 -5 3 -4 2],[1 2 -5 3])

c =

Columns 1 through 7

1 -3 -1

2 30 -36 3

3 -22

Column 8

6

4.计算多项式除法(3x^3+13x^2+6x+8)/(x+4)。

p1=[3,13,6,8];

p2=[1,4];

[q,r]=deconv(p1,p2)

q = 3 1 2

r = 0 0 0 0

d=deconv(p1,p2)

d = 3 1 2

5.对下式进行部分分式展开。(3x^4+2x^3+5x^2+4x+6)/(x^5+3x^4+2x^2+7x+2)

b=[3,2,5,4,6];

a=[1,3,4,2,7,2];

[res,poles,k]=residue(b,a)

1.1274 + 1.1513i

1.1274 - 1.1513i

-0.0232 - 0.0722i

-0.0232 + 0.0722i

0.7916

poles =

-1.7680 + 1.2673i

-1.7680 - 1.2673i

0.4176 + 1.1130i

0.4176 - 1.1130i

-0.2991

k =

[]

[b2,a2]=residue(res,poles,k)

b2 =

Columns 1 through 2

3.0000 - 0.0000i 2.0000

Columns 3 through 4

5.0000 - 0.0000i 4.0000 - 0.0000i

Column 5

6.0000 - 0.0000i

a2 =

Columns 1 through 4

1.0000 3.0000 4.0000

2.000

Columns 5 through 6

7.0000 2.0000

6.解方程组[2 9 0;3 4 11;2 2 6]x=[13 6 6]

x=[13 ;6; 6];

a=[2 9 0;3 4 11;2 2 6];

x\a

ans =0.2324 0.6349 0.4232

7.找出最接近下列五点的最小二乘三次多项式:(1,5)(2,3)(3,4)(4,7)(5,2),画出此多项式及包括这五点数据的图形。

x=[1 2 3 4 5]'

x =

1

2

3

4

5

y=[5 3 4 7 2]'

y =

5

4

7

2

e=[ones(size(x)) x.^2]

e =

1 1

1 4

1 9

1 16

1 25

c=e\y

c =

4.6706

-0.0428

plot(x,y)

plot(x,y,':')

plot(x,y,':^')

plot(x,y,':*')

plot(x,y,'g:*')

9.已知矩阵a=[4 2 -6;7 5 4;3 4 9],计算a的行列式和逆矩阵。a=[4 2 -6;7 5 4;3 4 9]

a =

4 2 -6

7 5 4

3 4 9

det(a)

ans =

-64

inv(a)

ans =

-0.4531 0.6562 -0.5937

0.7969 -0.8437 0.9062

-0.2031 0.1562 -0.0937

10,在命令窗口产生10*10阶随机数组a,计算a的最大矢量,最小矢量,平均矢量,标准矢量。

解:a=rand(10,10)

a =

Columns 1 through 3

0.9501 0.6154 0.0579

0.2311 0.7919 0.3529

0.6068 0.9218 0.8132

0.4860 0.7382 0.0099

0.8913 0.1763 0.1389

0.7621 0.4057 0.2028

0.4565 0.9355 0.1987

0.0185 0.9169 0.6038

0.8214 0.4103 0.2722

0.4447 0.8936 0.1988

Columns 4 through 6

0.0153 0.8381 0.1934

0.7468 0.0196 0.6822

0.4451 0.6813 0.3028

0.9318 0.3795 0.5417

0.4660 0.8318 0.1509

0.4186 0.5028 0.6979

0.8462 0.7095 0.3784

0.5252 0.4289 0.8600

0.2026 0.3046 0.8537

0.6721 0.1897 0.5936

Columns 7 through 9

0.4966 0.7271 0.7948

0.8998 0.3093 0.9568

0.8216 0.8385 0.5226

0.6449 0.5681 0.8801

0.8180 0.3704 0.1730

0.6602 0.7027 0.9797

0.3420 0.5466 0.2714

0.2897 0.4449 0.2523

0.3412 0.6946 0.8757

0.5341 0.6213 0.7373 Column 10

0.1365

0.0118

0.8939

0.1991

0.2987

0.6614

0.2844

0.4692

0.0648

0.9883

ymax=max(a)

ymax =

Columns 1 through 3

0.9501 0.9355 0.8132 Columns 4 through 6

0.9318 0.8381 0.8600 Columns 7 through 9

0.8998 0.8385 0.9797 Column 10

0.9883

ymin=min(a)

ymin =

Columns 1 through 3

0.0185 0.1763 0.0099 Columns 4 through 6

0.0153 0.0196 0.1509 Columns 7 through 9

0.2897 0.3093 0.1730 Column 10

0.0118

ymean=mean(a)

ymean =

Columns 1 through 3

0.5669 0.6806 0.2849 Columns 4 through 6

0.5270 0.4886 0.5254 Columns 7 through 9

0.5848 0.5823 0.6444 Column 10

0.4008

ystd=std(a)

ystd =

Columns 1 through 3

0.2988 0.2682 0.2485

Columns 4 through 6

0.2837 0.2758 0.2583

Columns 7 through 9

0.2198 0.1683 0.3128

Column 10

0.3431

11,在命令窗口产生两个5*3的随机数组a和b,计算关于a和b的协方差和相关系数矩阵。

解:a=rand(5,3)

a =

0.5828 0.2259 0.2091

0.4235 0.5798 0.3798

0.5155 0.7604 0.7833

0.3340 0.5298 0.6808

0.4329 0.6405 0.4611

b=rand(5,3)

b =

0.5678 0.4154 0.9708

0.7942 0.3050 0.9901

0.0592 0.8744 0.7889

0.6029 0.0150 0.4387

0.0503 0.7680 0.4983

ca=cov(a)

ca =

0.0090 -0.0073 -0.0093

-0.0073 0.0397 0.0358

-0.0093 0.0358 0.0534

cb=cov(b)

cb =

0.1155 -0.1022 0.0361

-0.1022 0.1223 0.0078

0.0361 0.0078 0.0669

p=corrcoef(a,b)

p =

1.0000 -0.0113

-0.0113 1.0000

12.假设一曲线数据点为x=0:2:4*pi;y=sin(x).*exp(-x/5),将x的间距改为0.1,用下列方法进行内插。

(1)线性内插法;

(2)样条内插法;

(3)三次样条内插法;

(4)多项式拟合法。

请将这些内插结果及原数据点画在同一图上。x0=0:2:4*pi;

y0=sin(x0).*exp(-x0/5);

x=0:2:4*pi;

y=spline(x0,y0,x);

(3)三次样条内插法

plot(x0,y0,'or',x,y,'b')

matlab课后答案完整版

ones表示1矩阵 zeros表示0矩阵 ones(4)表示4x4的1矩阵 zeros(4)表示4x4的0矩阵 zeros(4,5)表示4x5的矩阵 eye(10,10)表示10x10的单位矩阵rand(4,5)表示4x5的伴随矩阵 det(a)表示计算a的行列式 inv(a)表示计算a的逆矩阵 Jordan(a)表示求a矩阵的约当标准块rank(a)表示求矩阵a的秩 [v,d]=eig(a)对角矩阵 b=a’表示求a矩阵的转置矩阵 sqrt表示求平方根 exp表示自然指数函数 log自然对数函数 abs绝对值 第一章 一、5(1) b=[97 67 34 10;-78 75 65 5;32 5 -23 -59]; >> c=[97 67;-78 75;32 5;0 -12]; >> d=[65 5;-23 -59;54 7]; >> e=b*c e = 5271 11574 -11336 664 1978 3112 (2)a=50:1:100 二、1 、x=-74; y=-27; z=(sin(x.^2+y.^2))/(sqrt(tan(abs(x+y)))+pi) z = 2、a=::; >> b=exp*a).*sin(a+ 3、x=[2 4; 5]; y=log(x+sqrt(1+x.^2))/2 y =4、a*b表示a矩阵和b矩阵相乘 a.*b表示a矩阵和b矩阵单个元素相乘A(m,n)表示取a矩阵第m行,第n列 A(m,:)表示取a矩阵第m行的全部元素 A(:,n)表示取a矩阵的第n列全部元素 A./B表示a矩阵除以b矩阵的对应元素, B.\A等价于A./B A.^B表示两个矩阵对应元素进行乘方运算A.^2表示a中的每个元素的平方 A^2表示A*A 例:x=[1,2,3]; y=[4,5,6]; z=x.^y z= 1 3 2 729 指数可以是标量(如y=2).底数也可以是标量(如x=2) 5、a=1+2i; >> b=3+4i; >> c=exp((pi*i)/6) c = + d=c+a*b/(a+b) d = + 第二章 二、4、(1) y=0;k=0; >> while y<3 k=k+1; y=y+1/(2*k-1); end >> display([k-1,y-1/(2*k-1)]) ans = 第三章 二1(1)

matlab第三章习题解答

3-1 >> N=[1 2 3 4 5] N = 1 2 3 4 5 (1) >> N1=2*N N1 = 2 4 6 8 10 (2) >> N2=N/2 N2 = 0.5000 1.0000 1.5000 2.0000 2.5000 (3) >> N3=1./N N3 = 1.0000 0.5000 0.3333 0.2500 0.2000 (4) >> N4=1./(N.*N) N4 = 1.0000 0.2500 0.1111 0.0625 0.0400 3-2 m=input('请输入一个三位整数'); i=fix(m/100); j=mod(fix(m/10),10); k=mod(m,10); n=100*k+10*j+i; disp('反向输出的数为'); disp(n); 3-3 用if来实现 score=input('请输入成绩'); if score>100|score<0 disp('成绩必须>=0且<=100'); elseif score>=90&score<=100 disp('A');

elseif score>=80&score<=89 disp('B'); elseif score>=70&score<=79 disp('C'); elseif score>=60&score<=69 disp('D'); else disp('E'); end 用switch来实现 score=input('请输入成绩'); switch score case num2cell(90:100) disp('A'); case num2cell(80:89) disp('B'); case num2cell(70:79) disp('C'); case num2cell(60:69) disp('D'); case num2cell(0:59)%case{0,1,2,3,4,5}也可以 disp('E'); otherwise disp('成绩必须>=0且<=100'); end 注意:以下程序是错的 score=input('请输入成绩'); switch fix(score/10) case {9,10} disp('A'); case {8} disp('B'); case {7} disp('C'); case {6} disp('D'); case num2cell(0:5)%case{0,1,2,3,4,5}也可以

matlab第三章答案

第1题: 从键盘输入一个3位数,将它反向输出。如输入639输出936、 n1=fix(n/100); n2=rem(fix(n/10),10); n3=rem(n,10); m=n3*100+n2*10+n1; disp(m) 请输入一个三位数:489 984 第2题: 输入一个百分制成绩,要求输出成绩等级A、B、C、D、E。其中90~100分为A,80~89分为B、70~79分为C、60~69分为D,60分以下为E。 要求:(1)分别用if语句与switch语句实现。 (2)输入百分制成绩后要判断成绩的合理性,对不合理的成绩应输出错信息。 If语句: >> s=input('请输入成绩分数:'); if s>=90&s<=100 disp('A'); elseif s>=80&s<=89 disp('B'); elseif s>=70&s<=79 disp('C'); elseif s>=60&s<=69 disp('D'); elseif s>=0&s<60 disp('E'); else disp('false'); end 请输入成绩分数:89 B Switch语句: >> s=input('请输入成绩分数:'); switch fix(s/10) case {9,10} disp('A'); case {8} disp('B'); case {7} disp('C'); case {6} disp('D'); case {5,4,3,2,1,0} disp('E');

otherwise disp('false'); end 请输入成绩分数:88 B 第3题 输入20个数,求其中最大数与最小数。要求分别用循环结构与调用MA TLAB的max函数、min函数来实现。 1循序结构 A=[1 2 3 4 5 6 7 23 32 12 53 1 23 53 5 235 31 8888 33 3 21]; %还可用A=input('ENTER A:'); min=A(1); max=A(1); for i=1:19 if A(i+1)>max max=A(i+1); end if A(i+1)f; f=m; end end end funtion f=min(A) f=A(1); for i=1:20; %还可用A=input('ENTER A:'); m=A(i); if m

第3章 MATLAB矩阵处理_习题答案

第3章 MATLAB矩阵处理 习题3 一、选择题 1.产生对角线上全为1,其余为0的2行3列矩阵的命令是()。C A.ones(2,3) B.ones(3,2) C.eye(2,3) D.eye(3,2) 2.建立3阶单位矩阵A的命令是()。A A.A=eye(3) B.A=eye(3,1)C.A=eye(1,3)D.A=ones(3) 3.产生和A同样大小的幺矩阵的命令是()。B A.eye(size(A)) B.ones(size(A)) C.size(eye(A))D.size(ones(A)) 4.建立5×6随机矩阵A,其元素为[100,200]范围内的随机整数,相应的命令是()。D A.A=fix(100+200*rand(5,6)) B.A=fix(200+100*rand(5,6)) C.A= fix(100+300*rand(5,6)) D.A=fix(100+101*rand(5,6)) 5.产生均值为1、方差为0.2的500个正态分布的随机数,相应的命令是()。A。 A.1+sqrt(0.2)*randn(25,20)B.1+0.2*randn(500) C.0.2+randn(500)D.0.2+randn(25,20) 6.从矩阵A提取主对角线元素,并以这些元素构成对角阵B,相应的命令是()。B A.B=diag(A) B.B=diag(diag(A)) C.B=diag(triu(A)) D.B=diag(tril(A)) 7.在MA TLAB中定义A=randn(5,4,3,2),则下列关于A的操作中正确的是()。D A.y=eig(A) B.y=reshape(A,[4 3 6 7]) C.y=cond(A) D.y=sin(A) 8.在命令行窗口中分别输入下列命令,对应输出结果正确的是()。C A.命令x=[-2:2]',结果x=[-2 -1 0 1 2] B.命令x=zeros(1,2);x>0,结果ans=1 C.命令y=diag(eye(3),1)',结果y=[0 0] D.命令5-10*rand(1,2),结果ans=[-5.0501 1.2311] 9.将矩阵A对角线元素加30的命令是()。A A.A+30*eye(size(A)) B.A+30*eye(A)

matlab第三章答案

第1题: 从键盘输入一个3位数,将它反向输出。如输入639输出936. n1=fix(n/100); n2=rem(fix(n/10),10); n3=rem(n,10); m=n3*100+n2*10+n1; disp(m) 请输入一个三位数:489 984 第2题: 输入一个百分制成绩,要求输出成绩等级A、B、C、D、E。其中90~100分为A,80~89分为B、70~79分为C、60~69分为D,60分以下为E。 要求:(1)分别用if语句和switch语句实现。 (2)输入百分制成绩后要判断成绩的合理性,对不合理的成绩应输出错信息。 If语句: >> s=input('请输入成绩分数:'); if s>=90&s<=100 disp('A'); elseif s>=80&s<=89 disp('B'); elseif s>=70&s<=79 disp('C'); elseif s>=60&s<=69 disp('D'); elseif s>=0&s<60 disp('E'); else disp('false'); end 请输入成绩分数:89 B Switch语句: >> s=input('请输入成绩分数:'); switch fix(s/10) case {9,10} disp('A'); case {8} disp('B'); case {7} disp('C'); case {6} disp('D'); case {5,4,3,2,1,0} disp('E');

otherwise disp('false'); end 请输入成绩分数:88 B 第3题 输入20个数,求其中最大数和最小数。要求分别用循环结构和调用MATLAB的max函数、min函数来实现。 1循序结构 A=[1 2 3 4 5 6 7 23 32 12 53 1 23 53 5 235 31 8888 33 3 21]; %还可用A=input('ENTER A:'); min=A(1); max=A(1); for i=1:19 if A(i+1)>max max=A(i+1); end if A(i+1)f; f=m; end end end funtion f=min(A) f=A(1); for i=1:20; %还可用A=input('ENTER A:'); m=A(i); if m

Matlab 第三章 习题 答案

第三章 3.5计算多项式乘法()()222254x x x x ++++ >> a=[1 2 2]; >> b=[1 5 4]; >> c=conv(a,b) c = 1 7 16 18 8 poly2sym(c) ans = x^4 + 7*x^3 + 16*x^2 + 18*x + 8 3.6计算多项式的除法()()3231368/4x x x x ++++ >> a=[3 13 6 8]; >> b=[1 4]; >> [q r]=deconv(a,b) q = 3 1 2 r = 0 0 0 0 >> poly2sym(q) ans = 3*x^2 + x + 2 3.8求多项式4324121459x x x x --++的微分和积分 (1)微分:>> a=[4 -12 -14 5 9]; >> b=polyder(a) b = 16 -36 -28 5 >> poly2sym(b) ans = 16*x^3 - 36*x^2 - 28*x + 5 (2)积分:polyint(a) ans = 0.8000 -3.0000 -4.6667 2.5000 9.0000 0 >> poly2sym(ans) ans = (4*x^5)/5 - 3*x^4 - (14*x^3)/3 + (5*x^2)/2 + 9*x

3.9求代数方程32349x x x +-+=0的解。 >> [x]=solve('x^3+3*x^2-4*x+9') x = - 7/(3*(15/2 - (108^(1/2)*4703^(1/2))/108)^(1/3)) - (15/2 - 1/108*108^(1/2)*4703^(1/2))^(1/3) - 1 7/(6*(15/2 - (108^(1/2)*4703^(1/2))/108)^(1/3)) + (15/2 - (108^(1/2)*4703^(1/2))/108)^(1/3)/2 - (3^(1/2)*i*(7/(3*(15/2 - (108^(1/2)*4703^(1/2))/108)^(1/3)) - (15/2 - 1/108*108^(1/2)*4703^(1/2))^(1/3)))/2 - 1 7/(6*(15/2 - (108^(1/2)*4703^(1/2))/108)^(1/3)) + (15/2 - (108^(1/2)*4703^(1/2))/108)^(1/3)/2 + (3^(1/2)*i*(7/(3*(15/2 - (108^(1/2)*4703^(1/2))/108)^(1/3)) - (15/2 - 1/108*108^(1/2)*4703^(1/2))^(1/3)))/2 – 1 3.10求线性方程组223430 x xy y x x ?++=??-+=??的解 eqn1='x^2+x*y+y=3'; >> eqn2='x^2-4*x+3=0'; [x,y]=solve(eqn1,eqn2) x = 1 3 y = 1 -3/2 3.11求微分方程64dy y x dx =+的通解。 >> y=dsolve('Dy=6*y+4*x','x') y = (C3*exp(6*x))/9 - (2*x)/3 - 1/9 3.14求微分方程组2543dy x dt dx y dt ?=+????=-??在y(0)=3,x(0)=1时的特解。 >> eqn1='Dy=2*x+5'; >> eqn2='Dx=4*y-3'; >> [x y]=dsolve(eqn1,eqn2,'y(0)=3,x(0)=1') x = (2^(1/2)*(7*2^(1/2) - 9))/(8*exp(2*2^(1/2)*t)) + (2^(1/2)*exp(2*2^(1/2)*t)*(7*2^(1/2) +

第三章matlab在力学中的应用

3-3 机械振动 物体在平衡位置附近的往返叫做振动或机械振动。振动的传播称为波,机械振动的传播称为机械波。振动和波动是涉及物理及众多领域的一种非常普遍而重要的运动形式,研究振动和波动的意义已远远超过了力学的范围。本节利用MATLAB 来处理机械振动的一些问题。 简谐振动 质点在线性回复力作用下围绕平衡位置的运动称为简谐远动,它是最基本的 振动。下面,我们通过两个例子来讨论简谐运动的动力学和运动学特征。 (1) 弹簧振子系统的简谐运动 ·题目(ex3311) 设弹簧阵子系统由质量为m 的滑块和劲度系数为k 的弹簧所组成已知t=0时,m 在A 处,即x 0=A ,并由静止开始释放。试研究滑块的运动规律。 ·解题分析 以x 表示质点相对原点的位移,线性回复力f=-kx 。由牛顿第二定律以及题设条件,可写出弹簧振子的振动微分防尘及初始条件为 22t 0 0(0)(0)0 d x k x dt m x A dx v dt =+==== 滑块速度分别为 22 dx v dy d x a dt = = 令2,k m ω= 用符号法求解上述微分方程,求出运动方程、速度和加速度,并绘制

出,()x t v x a x ---相轨迹和曲线。 (2) 单摆 ·题目(ex3313) 设单摆的摆长为l ,摆锤质量为,将摆锤拉开一角度θ,然后放开使其自由摆动。在不计空气阻力的情况下,分小摆角和大摆角两种情况,讨论单摆的角位移θ随时间t 的变化规律。 ·解题分析 由牛顿第二定律,有 222sin sin ,d g dt l θθωθω=-=-= 其中,g 为重力加速度。 ① 小角摆动 假定角位移很小,sin θ≈θ,上式为 220d g dt l θθ+= ② 大角摆动 222sin sin d g dt l θθωθ=-=- 上式是非线性方程。为了方便起见,将θ用y 来表示,上式又可以写为下列一阶 微分方程组 1221;sin()dy dy g y y dt dt l ==- 用MATLAB 编程解此方程组。取l=1m,g=s 2。初始条件取为 073 π π θ= 试取和,比较二者的运动规律。

第3章 MATLAB数值计算-习题 答案

roots([1 -1 -1]) x=linspace(0,2*pi,10); y=sin(x); xi=linspace(0,2*pi,100); y1=interp1(x,y,xi); y2=interp1(x,y,xi,'spline'); y3=interp1(x,y,xi,'cublic'); plot(x,y,'o',xi,y1,xi,y2,xi,y3) x=[0 300 600 1000 1500 2000]; y=[0.9689 0.9322 0.8969 0.8519 0.7989 0.7491]; xi=linspace(0,2000,20); yi=1.0332*exp(-(xi+500)/7756); y1=interp1(x,y,xi,'spline'); subplot(2,1,1);plot(x,y,'o',xi,yi,xi,y1,'*') p=polyfit(x,y,2); y2=polyval(p,xi); subplot(2,1,2);plot(x,y,'o',xi,yi,xi,y2,'*') x=[0 300 600 1000 1500 2000]; y=[0.9689 0.9322 0.8969 0.8519 0.7989 0.7491]; xi=linspace(0,2000,20); y1=interp1(x,y,xi,'spline'); subplot(2,1,1);plot(x,y,'-o', xi,y1,'-*') p=polyfit(x,y,2); y2=polyval(p,xi); subplot(2,1,2);plot(x,y,'-o',xi,y2,'-*')

第三章MATLAB编程

第三章 MATLAB 编程 MATLAB 语言与其他计算机语言一样, 可以用来进行编程。 充分利用 MATLAB 数据结 构的特点, 可以使程序结构简单,提高编程效率。 3.1 M 文件 3.1.1 M 文件概述 用 MATLAB 语言编写的程序,称为 M 文件。 一个文件名为 bessel.m ,提供bessel 函数语句.M 命令文件(Seript File)和函数文件(Function File)。 例 3-1 分别建立命令文件和函数文件,将华氏温度 程序 1: 首先建立命令文件并以文件名 ff2cc1.m 存盘。 clear; % 清除工作空间中的变量 f=input('Input Fahrenheit temperature : '); c=5*(f-32)/9 然后在MATLAB 的命令窗口中输入ff2cc1,将会执行该命令文件,执行情况为: >>ff2cc1 Input Fahrenheit temperature : 73 c = 22.7778 程序 2: (详细见后 3.3) 首先建立函数文件 ff2cc2.m 。 function c=ff2cc2(f) c=5*(f-32)/9 然后在 MATLAB 的命令窗口调用该函数文件。 >>cc=ff2cc2(70) cc = 21.1111 3.1.2 M 文件的建立与打开 M 文件是一个文本文件,它可以用任何编辑程序来建立和编辑,而一般常用且最为方 便的是使用 MA TLAB 提供的文本编辑器。 1.建立新的 M 文件 为建立新的 M 文件,启动 MATLAB 文本编辑器有 3 种方法: (1) 菜单操作。 从 MATLAB 主窗口的 File 菜单中选择 New 菜单项,再选择 M-file 命令, 屏幕 上将出现 MATLAB 文本编辑器窗口。 ⑵命令操作。在 MATLAB 命令窗口输入命令 edit ,启动MATLAB 文本编辑器后,输 入M 文件的内容并存盘。 (3) 命令按钮操作。单击 MATLAB 文本编辑器后,输入 2.打开已有的 M 文件 打 开已有的 M 文件,也有 (1)菜单操作。从 MATLAB 因为这些文件名的未尾是 .M 形式,例如 文件可以根据调用方式的不同分为两类: f 转换为摄氏温度 c 。 MATLAB 主窗口工具栏上的 New M-File 命令按钮,启动 M 文件的内 容并存盘。 3 种方法: 主窗口的 File 菜单中选择 Open 命令,则屏幕出现 Open 对

matlab程序设计第三章课后习题答案

1、 p138 第6题在同一坐标轴中绘制下列两条曲线并标注两曲线交叉点。 >> t=0:0、01:pi; >> x1=t; >> y1=2*x1-0、5; >> x2=sin(3*t)、*cos(t); >> y2=sin(3*t)、*sin(t); >> plot(x1,y1,'r-',x2,y2,'g-') >> axis([-1,2,-1、5,1]) >> hold on >> s=solve('y=2*x-0、5','x=sin(3*t)*cos(t)','y=sin(3*t)*sin(t)'); >> plot(double(s、x),double(s、y),'*'); 截图:

p366 第4题绘制极坐标曲线,并分析对曲线形状得影响。function [ output_args ] = Untitled2( input_args ) %UNTITLED2 Summary of this function goes here % Detailed explanation goes here theta=0:0、01:2*pi; a=input('请输入a得值:'); b=input('请输入b得值:'); n=input('请输入n得值:'); rho=a*sin(b+n*theta); polar(theta,rho,'k'); end 下面以a=1,b=1,n=1得极坐标图形为基础来分析a、b、n得影响。 对a得值进行改变 :对比发现a只影响半径值得整倍变化

对b得值进行改变:对比发现b得值使这个圆转换了一定得角度 对n得值进行改变:对比发现当n>=2时有如下规律 1、当n为整数时,图形变为2n个花瓣状得图形 2、当n为奇数时,图形变为n个花瓣状得图形 分别让n为2、3、4、5

(完整版)matlabR2012a课后习题答案第三章

第3章数值数组及其运算 习题3及解答 1 要求在闭区间]2,0[ 上产生具有10个等距采样点的一维数组。试 用两种不同的指令实现。 〖目的〗 ●数值计算中产生自变量采样点的两个常用指令的异同。 〖解答〗 %方法一 t1=linspace(0,2*pi,10) %方法二 t2=0:2*pi/9:2*pi %要注意采样间距的选择,如这里的2*pi/9. t1 = Columns 1 through 7 0 0.6981 1.3963 2.0944 2.7925 3.4907 4.1888 Columns 8 through 10 4.8869 5.5851 6.2832 t2 = Columns 1 through 7 0 0.6981 1.3963 2.0944 2.7925 3.4907 4.1888 Columns 8 through 10 4.8869 5.5851 6.2832 2 由指令rng('default'),A=rand(3,5)生成二维数组A,试求该数组中 所有大于0.5的元素的位置,分别求出它们的“全下标”和“单下标”。 〖目的〗 ●数组下标的不同描述:全下标和单下标。 ●sub2ind, int2str, disp的使用。 ●随机发生器的状态控制:保证随机数的可复现性。 〖解答〗 rng('default') A=rand(3,5) [ri,cj]=find(A>0.5); id=sub2ind(size(A),ri,cj); ri=ri';cj=cj'; disp(' ') disp('大于0.5的元素的全下标') disp(['行号 ',int2str(ri)]) disp(['列号 ',int2str(cj)]) disp(' ') disp('大于0.5的元素的单下标') disp(id')

matlab第三章课后题

(1). > a={1,2,3,4} a = [1] [2] [3] [4] 结论这个是一种单元结构 (2). 卷积 简单定义:卷积是分析数学中一种重要的运算。 设:f(x),g(x)是R1上的两个可积函数,作积分: 可以证明,关于几乎所有的实数x,上述积分是存在的。这样,随着x的不同取值,这个积分就定义了一个新函数h(x),称为函数f与g的卷积,记为h(x)=(f*g)(x)。 容易验证,(f * g)(x) = (g * f)(x),并且(f * g)(x)仍为可积函数。这就是说,把卷积代替乘法,L1(R1)空间是一个代数,甚至是巴拿赫代数。 卷积与傅里叶变换有着密切的关系。利用一点性质,即两函数的傅里叶变换的乘积等于它们卷积后的傅里叶变换,能使傅里叶分析中许多问题的处理得到简化。 由卷积得到的函数f*g一般要比f和g都光滑。特别当g为具有紧致集的光滑函数,f 为局部可积时,它们的卷积f * g也是光滑函数。利用这一性质,对于任意的可积函数f,都可以简单地构造出一列逼近于f的光滑函数列fs,这种方法称为函数的光滑化或正则化。卷积的概念还可以推广到数列、测度以及广义函数上去。 (3). % polynomial operation p1=[1 2 1]; %?¨ò??à??ê? p2=[1 1]; length_of_p1=length(p1); length_of_p2=length(p2); if (length_of_p1==length_of_p2 ) % ?D??á????à??ê?ê?·?3¤?è?àμè p1_plus_p2=p1+p2; % ?à??ê??à?ó p1_minus_p2=p1-p2; % ?à??ê??à?? elseif length_of_p1

MATLAB 第三章习题

第三章 2,0[ 上产生具有10个等距采样点的一维数组。试用两种不同的指令实1.要求在闭区间] 现。 方法一 t1=linspace(0,2*pi,10) t1 = 0 0.6981 1.3963 2.0944 2.7925 3.4907 4.1888 4.8869 5.5851 6.2832 方法二 t2=0:2*pi/9:2*pi 结果与t1相同 2.由指令rand('state',0),A=rand(3,5)生成二维数组A,试求该数组中所有大于0.5的元素的位置,分别求出它们的“全下标”和“单下标”。 rand('state',0),A=rand(3,5) [ri,cj]=find(A>0.5); id=sub2ind(size(A),ri,cj); ri=ri'; cj=cj'; disp(' ') disp('大于0.5的元素的全下标') disp(['行号 ',int2str(ri)]) disp(['列号 ',int2str(cj)]) disp(' ') disp('大于0.5的元素的单下标') disp(id') A = 0.9501 0.4860 0.4565 0.4447 0.9218 0.2311 0.8913 0.0185 0.6154 0.7382 0.6068 0.7621 0.8214 0.7919 0.1763 大于0.5的元素的全下标 行号 1 3 2 3 3 2 3 1 2 列号 1 1 2 2 3 4 4 5 5 大于0.5的元素的单下标 1 3 5 6 9 11 1 2 1 3 14

3. 已知矩阵?? ? ? ??=4321A ,运行指令B1=A.^(0.5), B2=A^(0.5), 可以观察到不同运算方法所得结果不同。(1)请分别写出根据B1, B2恢复原矩阵A 的程序。(2)用指令检验所得的两个恢复矩阵是否相等。 A=[1,2;3,4]; B1=A.^0.5 B2=A^0.5 A1=B1.*B1; A2=B2*B2; norm(A1-A2,'fro') B1 = 1.0000 1.4142 1.7321 2.0000 B2 = 0.5537 + 0.4644i 0.8070 - 0.2124i 1.2104 - 0.3186i 1.7641 + 0.1458i ans = 1.8505e-015 4. 在时间区间 [0,10]中,绘制t e y t 2cos 15.0--=曲线。要求分别采取“标量循环运算法” 和“数组运算法”编写两段程序绘图。 %标量循环运算法 t=linspace(0,10,200); N=length(t); y1=zeros(size(t)); for k=1:N y1(k)=1-exp(-0.5*t(k))*cos(2*t(k)); end subplot(1,2,1), plot(t,y1), xlabel('t'), ylabel('y1'), grid on %数组运算法 y2=1-exp(-0.5*t).*cos(2*t);

matlab答案第三章

第三章 1.写出完成下列操作的命令。 (1)建立3阶单位矩阵A 。 (2)建立5x6随机矩阵A ,其元素为[100,200]范围内的随机整数。 (3)产生均值为1,方差为0.2的500个正态分布的随机数。 (4)产生和A 同样大小的幺矩阵。 (5)将矩阵A 对角线的元素加30。 答: (1)A=eye(3) (2) A=100+100*rand(5,6) (3)A=1+sqrt(0.2)*randn(10,50) (4)B=ones(size(A)) (5)A+30*eye(size(A)) 2.建立一个方阵A ,求A 的逆矩阵和A 的行列式的值,并验证A 与A -1 是互逆的。 答: B=inv(A) ;A 的逆矩阵 C=det(A) ;A 的行列式的值 D=A*B E=B*A D=E=同阶单位矩阵 因此A 与A -1是互逆的。 3.求下面线性方程组的解。 ??? ??=+=+-=-+8 312102322421 321321x x x x x x x x 答: A=[4 2 -1;3 -1 2;12 3 0]; b=[2;10;8]; x=inv(A)*b x = -6.0000 26.6667 27.3333 4.求下列矩阵的秩、迹、条件数。 (1) ????? ?? ?? ???--=9015112503241532 11A (2) ??? ???-=2149.824343.0B 答: (1) rank(A) ;秩 ans = 4 cond(A) ;条件数 ans = 11.1739 trace(A) ;迹 ans = 16 (2)略 5.求矩阵A 的特征值和相应的特征向量。 ?? ?? ??????=225.05.025.0115.011 A 答: A=[1 1 0.5;1 1 0.25;0.5 0.25 2] A = 1.0000 1.0000 0.5000 1.0000 1.0000 0.2500 0.5000 0.2500 2.0000 [V,D]=eig(A) V = 0.7212 0.4443 0.5315 -0.6863 0.5621 0.4615 -0.0937 -0.6976 0.7103 D = -0.0166 0 0 0 1.4801 0 0 0 2.5365

matlab程序设计第三章课后习题答案

1. p138 第6题在同一坐标轴中绘制下列两条曲线并标注两曲线交叉点。 >> t=0:0.01:pi; >> x1=t; >> y1=2*x1-0.5; >> x2=sin(3*t).*cos(t); >> y2=sin(3*t).*sin(t); >> plot(x1,y1,'r-',x2,y2,'g-') >> axis([-1,2,-1.5,1]) >> hold on >> s=solve('y=2*x-0.5','x=sin(3*t)*cos(t)','y=sin(3*t)*sin(t)'); >> plot(double(s.x),double(s.y),'*'); 截图:

p366 第4题绘制极坐标曲线,并分析对曲线形状的影响。 function [ output_args ] = Untitled2( input_args ) %UNTITLED2 Summary of this function goes here % Detailed explanation goes here theta=0:0.01:2*pi; a=input('请输入a的值:'); b=input('请输入b的值:'); n=input('请输入n的值:'); rho=a*sin(b+n*theta); polar(theta,rho,'k'); end 下面以a=1,b=1,n=1的极坐标图形为基础来分析a、b、n的影响。

对a的值进行改变:对比发现a只影响半径值的整倍变化

对b的值进行改变:对比发现b的值使这个圆转换了一定的角度 对n的值进行改变:对比发现当n>=2时有如下规律 1、当n为整数时,图形变为2n个花瓣状的图形 2、当n为奇数时,图形变为n个花瓣状的图形 分别让n为2、3、4、5

matlab第三章课后部分答案

习题三 3-2 从键盘输入一个三位整数,将它反向输出。如输入639,输出为936 程序如下: m=input('请输入一个三位整数:'); m1=fix(m/100);%求m的百位整数 m2=rem(fix(m/10),10);%求m的十位数字 m3=rem(m,10);%求m的个位数字 m=m3*100+m2*10+m1%反向输出m 3-3 输入一个百分制成绩,要求输出成绩等级A,B,C,D,E。其中90~100分为A,80~89分为B,70~79分为C,60~69分为D,60分以下为E。 要求:(1)分别用if语句和switch语句实现。 (2)输入百分制成绩后要判断该成绩的合理性,对不合理的成绩应输出出错信息。程序如下: (1)if语句 c=input('请输入成绩:'); if c>=90&c<=100 disp('A 成绩合理'); elseif c>=80&c<=89 disp('B 成绩合理'); elseif c>=70&c<=79 disp('C 成绩合理'); elseif c>=60&c<=69 disp('D 成绩合理'); elseif c<60 disp('E 成绩合理'); else disp('成绩错误'); end (2)switch语句 c=input('请输入成绩:'); switch fix(c) case num2cell(90:100) disp('A 成绩合理'); case num2cell(80:89) disp('B 成绩合理'); case num2cell(70:79) disp('C 成绩合理'); case num2cell(60:69) disp('D 成绩合理'); case num2cell(0:59) disp('E 成绩合理'); otherwise disp('成绩错误'); end

matlab程序设计与应用(第二版)第三章部分课后答案

第三章1. (1)A=eye(3) (2)A=100+100*rand(5,6) (3)A=1+sqrt(0.2)*randn(10,50) (4)B=ones(size(A)) (5)A+30*eye(size(A)) (6)B=diag(diag(A)) 2. B=rot90(A) C=rot90(A,-1) 3. B=inv(A) ;A的逆矩阵 C=det(A) ;A的行列式的值 D=A*B E=B*A D=E 因此A与A-1是互逆的。 4. A=[4 2 -1;3 -1 2;12 3 0]; b=[2;10;8]; x=inv(A)*b x = -6.0000 26.6667 27.3333 5. (1) diag(A) ;主对角线元素 ans = 1 1 5 9 triu(A) ;上三角阵

ans = 1 -1 2 3 0 1 -4 2 0 0 5 2 0 0 0 9 tril(A) ;下三角阵 ans = 1 0 0 0 5 1 0 0 3 0 5 0 11 15 0 9 rank(A) ;秩 ans = 4 norm(A) ;范数 ans = 21.3005 cond(A) ;条件数 ans = 11.1739 trace(A) ;迹 ans = 16 (2)略 6. A=[1 1 0.5;1 1 0.25;0.5 0.25 2] A = 1.0000 1.0000 0.5000 1.0000 1.0000 0.2500 0.5000 0.2500 2.0000

[V,D]=eig(A) V = 0.7212 0.4443 0.5315 -0.6863 0.5621 0.4615 -0.0937 -0.6976 0.7103 D = -0.0166 0 0 0 1.4801 0 0 0 2.5365

第三章matlab

公式如右:0)(2)2)()(()()(2)2(22111121 =--+--+-+--++-v p v c p c p a b c p a b a b a c p H μλβαα (求单渠道单一回购契约时零售价格1p 与λ的关系图) 横轴λ,且0<λ<1;纵轴价格p 1 2.已知:400=H ,10=α,10=β,5=c ,1=v ,100=μ,50=a ,100=b ,5.0=λ 公式如右:)(2)()(2)((2)()(22a b v p a v p c p a b a c p p H c p r --+?? ????---++-+--=∏λμλβαλ) (求单渠道单一回购契约时零售价格p 与零售商利润函数r ∏的关系图) 横轴p ,且5

公式:μβμβα2)()(2)()(2)(()()(2222c p a b v p a v p c p a b a c p p H c p ----+????? ?---++-+--=∏) (求集成决策时零售价格p 与零售商利润函数∏的关系图) 横轴p ,且5

相关文档