MATLAB作业3(2015)

MATLAB作业3(2015)
MATLAB作业3(2015)

MATLAB 作业三

1、试求下面齐次方程的基础解系。

1234512341234512345123456473027860456803436921490

26122727170

x x x x x x x x x x x x x x x x x x x x x x x x ++--=??---+=??-++-+=??-++-+=?---++=??

A=[6,1,4,-7,-3;-2,-7,-8,6,0;-4,5,1,-6,8;-34,36,9,-21,49;-26,-12,-27,27,17];

rank(A)

null(A )

ans =

3

ans =

0.0489 -0.7256

-0.6271 -0.2944

0.6325 0.1637

0.1281 -0.3671

0.4334 -0.4746

2、试求下面线性代数方程的解析解与数值解,并检验解的正确性。

2932114

010*******

48246303

35668495

3X -----??????

?

?----????=????---????------????

A=[2,-9,3,-2,-1;10,-1,10,5,0;8,-2,-4,-6,3;-5,-6,-6,-8,-4];

B=[-1,-4,0;-3,-8,-4;0,3,3;9,-5,3];

[rank(A),rank([A,B])]

Z=null(A)

X0=A\B

X0 =

0.1397 -0.6841 -0.1418

0.4939 0.0702 0.0385

0 0 0

-0.7805 -0.2178 -0.5086

-1.6043 2.4354 0.3867

a=rand (1);

x=a*[Z,Z,Z]+X0

norm(A*x-B)

ans =

6.1060e-015

3、求解能转换成多项式方程的联立方程,并检验得出的高精度数值解(准解析解)的精度。

212221210(2)(0.5)10x x x x ?--=?-+--=?

>> [x1,x2]=solve('x1^2-x2-1=0','(x1-2)^2+(x2-0.5)^2-1=0','x1,x2')

x1 =

1.5463428833199450050728889725194 1.067346085806689713408597312807 - 1.2136904451605911320167045558746*i - 1.3068444845633173592407431426632

1.2136904451605911320167045558746*i - 1.3068444845633173592407431426632

x2 =

1.3911763127942410521940863240803 0.13922766688686144048362498805141

3.1722093284506318231178646481143*i - 0.76520198984055124633885565606586 - 3.1722093284506318231178646481143*i - 0.76520198984055124633885565606586

>> norm(double([x1.^2-x2-1 (x1-2).^2+(x2-0.5).^2-1]))

ans =

6.2242e-039

4、用Jacobi 、Gauss-Seidel 迭代法求解方程组 12312312

31027210283542x x x x x x x x x --=??-+-=??--+=?,给定初值为

(0)(0,0,0)T x =。

function y=jacobi(a,b,x0)

D=diag(diag(a)); U=-triu(a,1); L=-tril(a,-1);

B=D\(L+U); f=D\b;

y=B*x0+f;

n=1;

while norm(y-x0)>=1.0e-6

x0=y;

y=B*x0+f;

n=n+1;

end

n

a=[10,-1,-2;-1,10,-2;-1,-1,5];

b=[72;83;42];

x0=[0;0;0];

jacobi(a,b,x0)

n =

17

ans =

11.0000

12.0000

13.0000

function y=seidel(a,b,x0)

D=diag(diag(a));U=-triu(a,1);L=-tril(a,-1); G=(D-L)\U ;f=(D-L)\b;

y=G*x0+f; n=1;

while norm(y-x0)>=1.0e-6

x0=y;

y=G*x0+f;

n=n+1;

end

n

seidel(a,b,x0)

n =

10

ans =

11.0000

12.0000

13.0000

5、

12

(0)

123

23

21

1.4,(1,1,1),20

2 1.8

T

x x

x x x x

x x

ω

-=

?

?

==-+-=

?

?-+=

?

取用超松弛法解方程组

function y=sor(a,b,w,x0)

D=diag(diag(a));U=-triu(a,1);L=-tril(a,-1);

M=(D-w*L)\((1-w)*D+w*U); f=(D-w*L)\b*w; y=M*x0+f; n=1;

while norm(y-x0)>=1.0e-6

x0=y;

y=M*x0+f;

n=n+1;

end

n

a=[2,-1,0;-1,2,-1;0,-1,2]; b=[1;0;8];

w=1.4;

x0=[1;1;1];

sor(a,b,w,x0)

n =

19

ans =

2.7500

4.5000

6.2500

MATLAB第一章作业答案

第一章 M A T L A B 概况与基本操作 1.选择题(每题2分,共20分): (1)最初的MATLAB 核心程序是采用D 语言编写的。 (2)即将于2011年9月发布的MATLAB 新版本的编号为C 。 2011Ra 2011Rb R2011b R2011a (3)在默认设置中,MATLAB 中的注释语句显示的颜色是B 。 A.黑色 B.绿色 C.红色 D.蓝色 (4)如果要以科学计数法显示15位有效数字,使用的命令是A 。 long e long long g long d (5)在命令窗口新建变量a 、b ,如果只查看变量a 的详细信息,使用的命令为A 。 a a (6)如果要清除工作空间的所有变量,使用的命令为C 。 all C.两者都可 D.两者都不可 (7)在创建变量时,如果不想立即在命令窗口中输出结果,可以在命令后加上B 。 A.冒号 B.分号 C.空格 D.逗号 (8)如果要重新执行以前输入的命令,可以使用D 键。 A.下箭头↓ B.右箭头→ C.左箭头← D.上箭头↑ (9)如果要查询函数det 的功能和用法,并显示在命令窗口,应使用命令C 。 D.三者均可 (10)如果要启动Notebook 文档,下列D 操作是可行的。 A.在命令窗口输入notebook 命令 B.在命令窗口输入notebook filename 命令 C.在Word 中启动M-book 文档 D.三者均可 2.填空题(每空1分,共20分): (1)MATLAB 是matrix 和laboratory 两个单词前三个字母的组合,意为“矩阵实验室”,它的创始人是Cleve Moler 和Jack Little 。 (2)在MATLAB 的默认设置中,关键字显示的字体为蓝色,命令、表达式、计算结果显示的字体为黑色,字符串显示的字体为褐红色,注释显示的字体为绿色,错误信息显示的字体为红色。 (3)在命令窗口中,输出结果显示为各行之间添加空行的命令为format loose ,各行之间不添加空行的命令为format compact 。 (4)在MATLAB 中,各种标点符号的作用是不同的。例如,空格的作用是分隔数组每行各个元素,逗号的作用是分隔数组每行各个元素或函数的各个输入参数,分号的作用是作为不显示命令结果的命令行的结尾或分隔数组各列,冒号的作用是生成一维数组或表示数组全部元素,百分号的作用是引导一行注释,…的作用是连接相邻两行,感叹号的作用是调用操作系统命令。 3.程序设计题(每题10分,共40分) (1)以25m/s 的初速度向正上方投球(g=s 2 ),计算到达最高点的时间tp 以及球从出发点到最高点的距离hp 。 解:根据物理学知识,物体上抛运动的速度与经过的时间之间的关系为0p p v v gt =-,因此所需要的时间为0p p v v t g -= 。而到达最高点时的速度0p v =,因此可根据此公式求出tp : v0=25;g=;vp=0; tp=(v0-vp)/g tp =

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作业3

《数学实验》报告 实验名称 MATLAB绘图 学院 专业班级 姓名 学号 2014年 5月

一、【实验目的】 学会用MA TLAB绘制二维、三维图形,并为其标注、添色等。 二、【实验任务】 1.用mesh与surf命令绘制三维曲面z=x^2+3y^2的图像,并使用不同的着色效果及光照效果 2.绘制由函数(x^2)/9+(y^2)/16+(z^2)/4=1形成的立体图,并通过改变观测点获得该图形在各个坐标平 面上的头影 3.画三维曲面z=5-x^2-y^2(-2<=x,y<=2)与平面z=3的交线 三、【实验程序】 1. t=-1:0.1:1; [x,y]=meshgrid(t); z=x^2+3*y^2; subplot(1,2,1),mesh(x,y,z),colormap(bone),light('position',[20,20,5]) subplot(1,2,2),surf(x,y,z),colormap(cool) 2. [xx,yy,zz]=sphere(40); x=xx*2;y=yy*3;z=zz*4; subplot(2,2,1),surf(x,y,z); subplot(2,2,2),surf(x,y,z);view(0,90) subplot(2,2,3),surf(x,y,z);view(90,0) subplot(2,2,4),surf(x,y,z);view(0,0) 3. t=-2:0.1:2;[x,y]=meshgrid(t);z1=5-x.^2-y.^2; subplot(1,3,1),mesh(x,y,z1),title('曲面z1=5-x.^2-y.^2'); z2=3*ones(size(x)); subplot(1,3,2),mesh(x,y,z2),title('平面z=3'); r0=abs(z1-z2)<=1; zz=r0.*z2;yy=r0.*y;xx=r0.*x;subplot(1,3,3); subplot(1,3,3),plot3(xx(r0~=0),yy(r0~=0),zz(r0~=0),'.'),title('交线') 四、【实验结果】

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(数值分析)答案

Matlab作业3(数值分析) 机电工程学院(院、系)专业班组 学号姓名实验日期教师评定 1.计算多项式乘法(x2+2x+2)(x2+5x+4)。 答: 2. (1)将(x-6)(x-3)(x-8)展开为系数多项式的形式。(2)求解在x=8时多项 式(x-1)(x-2) (x-3)(x-4)的值。 答:(1) (2)

3. y=sin(x),x从0到2π,?x=0.02π,求y的最大值、最小值、均值和标准差。 4.设x=[0.00.30.8 1.1 1.6 2.3]',y=[0.500.82 1.14 1.25 1.35 1.40]',试求二次多项式拟合系数,并据此计算x1=[0.9 1.2]时对应的y1。解:x=[0.0 0.3 0.8 1.1 1.6 2.3]'; %输入变量数据x y=[0.50 0.82 1.14 1.25 1.35 1.40]'; %输入变量数据y p=polyfit(x,y,2) %对x,y用二次多项式拟合,得到系数p x1=[0.9 1.2]; %输入点x1 y1=polyval(p,x1) %估计x1处对应的y1 p = -0.2387 0.9191 0.5318 y1 = a) 1.2909

5.实验数据处理:已知某压力传感器的测试数据如下表 p为压力值,u为电压值,试用多项式 d cp bp ap p u+ + + =2 3 ) ( 来拟 合其特性函数,求出a,b,c,d,并把拟合曲线和各个测试数据点画在同一幅图上。解: >> p=[0.0,1.1,2.1,2.8,4.2,5.0,6.1,6.9,8.1,9.0,9.9]; u=[10,11,13,14,17,18,22,24,29,34,39]; x=polyfit(p,u,3) %得多项式系数 t=linspace(0,10,100); y=polyval(x,t); %求多项式得值 plot(p,u,'*',t,y,'r') %画拟和曲线 x = 0.0195 -0.0412 1.4469 9.8267

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

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第三次大作业

Matlab Worksheet 3 Part A 1. Using function conv_m.m to make convolution between the following to functions (x and h): x=[3, 11, 7, 0, -1, 7, -5, 0, 2]; h=[11, 9, 0, -7, -3, 2, 0 -1]; nx=[-2:6]; nh=[0:7]; Plot the functions and convolution results. x=[3, 11, 7, 0, -1, 7,5,0, 2]; nx=[-2:6]; h=[11, 9, 0, -7, -3,2,0,-1]; nh=[0:7]; [y, ny]=conv_m(x,nx,h,nh); subplot(3,1,1); stem(nx,x); ylabel('x[n]'); axis([-6 10 -20 20]); subplot(3,1,2); stem(nh,h); ylabel('h[n]'); axis([-4 10 -20 20]); subplot(3,1,3); stem(ny,y); xlabel('n'); ylabel('y[n]'); axis([-6 15 -200 200]); 2. Plot the frequency response over π≤Ω≤0for the following transfer function by letting Ω=j e z , where Ωis the frequency (rad/sample)., with appropriate labels and title. 9 .06.1)(2++=z z z z H . delta=0.01; Omega=0:delta:pi; H= (exp(j .* Omega)) ./ ((exp(j .* Omega)).^2+1.6*exp(j .* Omega)+0.9); subplot(2,1,1); plot(Omega, abs(H)); xlabel('0<\Omega<\pi'); ylabel('|H(\Omega)|'); axis([0 pi 0 max(abs(H))]); subplot(2,1,2); plot(Omega,atan2(imag(H),real(H))); xlabel('0<\Omega<\pi'); ylabel(' -\pi < \Phi_H <\pi') axis([0 pi -pi pi]); 3. Use fft to analyse following signal by plotting the original signal and its spectrum.

MATLAB作业3参考答案

MATLAB 作业三参考答案 1、 请将下面给出的矩阵A 和B 输入到MA TLAB 环境中,并将它们转换成符号矩阵。若某 一矩阵为数值矩阵,另以矩阵为符号矩阵,两矩阵相乘是符号矩阵还是数值矩阵。 57651653 550123231001432546 2564206441211 346,3 9636623515 212107600774101 20 172440773473 781248672171107681 5A B ??????????????????? ?==??????????? ?---????????--??? ? 【求解】矩阵的输入与转换是很直接的。 >> A=[5,7,6,5,1,6,5; 2,3,1,0,0,1,4; 6,4,2,0,6,4,4; 3,9,6,3,6,6,2; 10,7,6,0,0,7,7; 7,2,4,4,0,7,7; 4,8,6,7,2,1,7]; A=sym(A) A = [ 5, 7, 6, 5, 1, 6, 5] [ 2, 3, 1, 0, 0, 1, 4] [ 6, 4, 2, 0, 6, 4, 4] [ 3, 9, 6, 3, 6, 6, 2] [ 10, 7, 6, 0, 0, 7, 7] [ 7, 2, 4, 4, 0, 7, 7] [ 4, 8, 6, 7, 2, 1, 7] >> B=[3,5,5,0,1,2,3; 3,2,5,4,6,2,5; 1,2,1,1,3,4,6; 3,5,1,5,2,1,2; 4,1,0,1,2,0,1; -3,-4,-7,3,7,8,12; 1,-10,7,-6,8,1,5]; B=sym(B) B = [ 3, 5, 5, 0, 1, 2, 3] [ 3, 2, 5, 4, 6, 2, 5] [ 1, 2, 1, 1, 3, 4, 6] [ 3, 5, 1, 5, 2, 1, 2] [ 4, 1, 0, 1, 2, 0, 1] [ -3, -4, -7, 3, 7, 8, 12] [ 1, -10, 7, -6, 8, 1, 5] 2、 利用MA TLAB 语言提供的现成函数对习题1中给出的两个矩阵进行分析,判定它们是 否为奇异矩阵,得出矩阵的秩、行列式、迹和逆矩阵,检验得出的逆矩阵是否正确。 【求解】以A 矩阵为例,可以对其进行如下分析。 >> A=[5,7,6,5,1,6,5; 2,3,1,0,0,1,4; 6,4,2,0,6,4,4; 3,9,6,3,6,6,2; 10,7,6,0,0,7,7; 7,2,4,4,0,7,7; 4,8,6,7,2,1,7]; A=sym(A); rank(A) ans = 7 >> det(A) ans = -35432

MATLAB第一章作业答案

第一章M A T L A B概况与基本操作 1.选择题: (1)最初的MATLAB核心程序是采用A语言编写的。 (2)即将于2011年9月发布的MATLAB新版本的编号为D。 2011Ra 2011Rb R2011a R2011b (3)在默认设置中,MATLAB中的注释语句显示的颜色是D。 A.黑色 B.蓝色 C.红色 D.绿色 (4)如果要以科学计数法显示15位有效数字,使用的命令是B。 long long e long g long d (5)在命令窗口新建变量a、b,如果只查看变量a的详细信息,使用的命令为B。 a a (6)如果要清除工作空间的所有变量,使用的命令为 C 。 all C.两者都可 D.两者都不可 (7)在创建变量时,如果不想立即在命令窗口中输出结果,可以在命令后加上D。 A.冒号 B.逗号 C.空格 D.分号 (8)如果要重新执行以前输入的命令,可以使用B键。 A.下箭头↓ B.上箭头↑ C.左箭头← D.右箭头→ (9)如果要查询函数inv的相关信息,并显示在命令窗口,应使用命令A。 D.三者均可 (10)如果要启动Notebook文档,下列D操作是可行的。 A.在命令窗口输入notebook命令 B.在命令窗口输入notebook filename命令 C.在Word中启动M-book文档 D.三者均可 2.填空题: (1)MATLAB是MATrix和LABoratory两个单词前三个字母的组合,意为“矩阵实验室”,它的创始人是Cleve Moler和Jack Little。 (2)在MATLAB的默认设置中,关键字显示的字体为蓝色,命令、表达式、计算结果显示的字体为黑色,字符串显示的字体为紫色,注释显示的字体为绿色,错误信息显示的字体为红色。

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

第三次实验课课堂作业(4学时)

MATLAB 第三次实验课课堂作业(4学时) 学号 姓名 注:1)此课堂作业作为本课程结业成绩的重要依据,请同学们认真、独立完成,不得抄袭。 2)请在授课教师规定的时间内完成; 3)完成作业后,请以word 格式保存,文件名为:学号+姓名 已知系统的差分方程为: (1)给出该系统的零点向量q 和极点向量p 值,并在z 平面上绘制零极点图 (给出命令语句); a=[0.2 0.1 0];b=[1 -0.4 -0.5]; [q,p,k]=tf2zp(a,b) q = 0 -0.5000 p = 0.9348 -0.5348 k = 0.2000 >> zplane(q,p) []0.4[1]0.5[2]0.2[]0.1[1] y n y n y n x n x n ----=+-

-1 -0.5 00.5 1 -1 -0.8-0.6-0.4-0.200.20.4 0.60.8 1Real Part I m a g i n a r y P a r t (2)给出求该系统的单位冲激响应,并作出冲激响应的时域图(给出命令语句); a=[0.2 0.1 0];b=[1 -0.4 -0.5]; [h,t]=impz(a,b,7,1000) h = 0.2000 0.1800 0.1720 0.1588 0.1495 0.1392 0.1304 t =

0 0.0010 0.0020 0.0030 0.0040 0.0050 0.0060 >> subplot(1,2,1);stem(t,h) >> subplot(1,2,2);impz(a,b) 2 4 6 x 10 -3 n (samples) A m p l i t u d e (3)绘制该系统的频响特性图(给出命令语句); >> num=[0.2 0.1 0] num = 0.2000 0.1000 0

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作业4参考答案(2018_

MATLAB作业4 参考答案 1、试生成满足正态分布2 N的30000 个伪随机数,对其均值和方差进行验 (0.5,1.4) 证,并用直方图的方式观察其分布与理论值是否吻合,若改变直方图区间的宽度会得出什么结论? 解:用下面的语句可以生成随机数,并计算均值和方差,可见,其结果接近给定的数值。 >> x=normrnd(0.5,1.4,30000,1); >>m=mean(x), s=std(x) m = 0.49974242123102 s = 1.40033494141044 >> xx=-5:0.3:5; yy=hist(x,xx); bar(xx,yy/length(x)/0.3); hold on x0=-5:0.1:5; y0=normpdf(x0,0.5,1.5); plot(x0,y0) >> xx=-5:0.8:5; yy=hist(x,xx); bar(xx,yy/length(x)/0.8); hold on; plot(x0,y0) 2、某研究者对随机抽取的一组保险丝进行了实验,测出使保险丝烧断的电流值为 10.4, 10.2,12.0, 11.3, 10.7, 10.6, 10.9, 10.8, 10.2, 12.1,假设这些值 α≤的条件下求出这些保险丝的溶断电流及其满足正态分布,试在置信水平0.05 置信区间。 解:方法①由normfit() 函数可以直接求出置信区间,亦即溶断电流的均值为10.92,其置信区间为(10:43; 11:41)。 >> x=[10.4,10.2,12,11.3,10.7,10.6,10.9,10.8,10.2,12.1]; >> [m1,s1,ma,sa]=normfit(x,0.05); m1, ma m1 =

MATLAB第三章和第四章作业

习题三 1.选择题 (1)已知a=4,b='4',下面说法错误的为C 。 A. 变量a比b占用的存储空间大 B. 变量a和b可以进行加、减、乘、除运算 C. 变量a和b的数据类型相同 D. 变量b可以用eval命令执行 (2)已知s='显示"hello"',则s的元素个数是B 。 A. 12 B. 9 C. 7 D. 18 (3)运行命令>>a=sym('pi','d')则对于变量a的描述D是正确的。 A. a是符号变量 B. a显示为10位的数值 C. a显示为32位的数值 D. a不存在 (4)对于符号表达式g=sym('sin(a*z)+cos(w*v)'),如果运行命令diff(g),则求导自变量是D。 A. a B. z C. w D. v (5)运行命令>>a=double(sym('sin(pi/2)')),则变量a是 C。 A. 符号变量 B. 字符串'1' C. double型的数值1 D. 出错 (6)运行命令>>y=dsolve('x*D2y-3*Dy=x^2','t')求解微分方程,则D。 A. Dy是指dy/dx B. 得出的y是通解有一个常数符C1 C. D2y是指d2y/dx D. 得出的y是通解有两个常数符C1和C2 (7)有一个2行2列的元胞数组c,则c(2)是指C 。 A. 第1行第2列的元素内容 B. 第2行第1列的元素内容 C. 第1行第2列的元素 D. 第2行第1列的元素 (8)对于一个2行2列的元胞数组c,如果要删除第二列的元素,应该使用的命令是B 。 A.c{:,2}=[] B.c(:,2)=[] C.A、B两种方式均可 D.A、B两种方式均不可 (9)有一个3行10列的构架数组student,每个构架有name(姓名)、scores两个字段,其中scores是以1×5数组表示的五门课的成绩,那么要查看第4个学生的第2门课成绩,采用的命令中达不到要求的是。 A.student(1,2).scores(2) B.student(4).scores(2) C.两种方式均可 D.两种方式均不可 (10)构架数组结构同上,如果增添一个字段ave用来存放每个同学的平均成绩,则要查看所有同学的平均成绩,应该采用的命令是D。 A.[student.ave] B.{student.ave} C.两种方式均可 D.两种方式均不可 (11)运行以下命令: >>x=[1 2 3;4 5 6]; >>y=x+x*i >>plot(y) 则在图形窗口中绘制A条曲线。 A. 3 B. 2 C. 6 D. 4 (12)运行以下命令: >>x=[1 2 3;4 5 6]; >>plot(x,x,x,2*x) 则在图形窗口中绘制B条曲线。 A. 4 B. 6 C. 3 D. 5 (13)subplot(2,1,1)是指A的子图。 A. 两行一列的上图 B. 两行一列的下图 C. 两列一行的左图 D. 两列一行的右图 (14)运行命令>>figure(3),则执行D 。 A. 打开三个图形窗口 B. 打开一个图形窗口 C. 打开图形文件名为“3.fig” D. 打开图形文件名为“figure 3.fig” (15)运行以下命令:

北科大matlab数学实验_第三次作业

《数学实验》报告 实验名称matlab三维绘图学院计算机与通信工程专业班级 姓名 学号 2015年5月

一、【实验目的】 1.学会使用mesh 和surf 命令进行三维绘图,并进行区别; 2.学会做两个图像的交线。 二、【实验任务】 1、P79T7 用mash 与surf 命令绘制三维曲面2 23z y x +=的图像。 2、P79T9 画三维曲面)2,2(5z 22≤≤---=y x y x 与平面z=3的交线。三、【实验程序】 1、P79T7 t=-1:0.1:1;[x,y]=meshgrid(t);z=x.^2+3*y.^2;subplot(1,2,1),mesh(x,y,z)title('z=x^2+3y^2')subplot(1,2,2),surf(x,y,z)title('z=x^2+3y^2') 2、P79T9 t=-2:0.1:2;[x,y]=meshgrid(t);z1=5-x.^2-y.^2;subplot(1,3,1),mesh(x,y,z1),title('z=5-x^2-y^2')z2=3*ones(size(x));subplot(1,3,2),mesh(x,y,z2),title('平面z=3')r0=abs(z1-z2)<=1;zz=r0.*z2;yy=r0.*y;xx=r0.*x; subplot(1,3,3),plot3(xx(r0~=0),yy(r0~=0),zz(r0~=0),'x') title('交线')四、【实验结果】 1、P79T7

2、P79T9

五、【实验总结】 1、学会使用mesh和surf命令进行三维绘图,并进行区别; 2、学会做两个图像的交线。

MATLAB作业

第一次上机作业 准备: 1. 掌握MATLAB 各种表达式的书写规则 2. 运行课堂上讲过的例子,熟悉矩阵、表达式的基本操作和运算。 作业: 1. 求下列表达式的值,显示MATLAB 工作空间的使用情况并保存全部变量,变量保存的文件名必须包含自己的学号后四位数: (1))1034245.01(26-?+?=w (2),)tan(22 a c b e abc c b a x ++-+++=ππ 其中a=3.5,b=5,c=9.8。 (3)])48333.0()41[(22απβππα--- =y ,其中32.3=α,9.7-=β (4))1ln(2122t t e z t ++=,其中?? ????--=65.05312i t 2. 已知??????????--=7613870451A ,???? ??????--=023352138B ,求下列表达式的值: (1)B A 6+、I B A +-2 (其中I 为单位阵); (2)A*B 、A.*B 、B*A 、B.*A ; (3)A/B 、B\A ; (4)[A, B]、[A([1 3],:);B^2]。 3. 已知????????????---=14.35454 .9632053256545410778.01023A 1) 取出A 的前三行构成矩阵B ,其前两列构成矩阵C ,其右下角3×2子矩阵构成的矩阵D ,B 与C 的乘积构成矩阵E 。 2) 分别求E

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

相关文档
最新文档