MATLAB 第三章习题

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

第三章

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

subplot(1,2,2),

plot(t,y2),

xlabel('t'),

ylabel('y2'),

grid on

5.先运行clear,format long,rand('state',1),A=rand(3,3),然后根据A写出两个矩阵:一个对角阵B,其相应元素由A的对角元素构成;另一个矩阵C,其对角元素全为0,而其余元素与对应的A阵元素相同。

clear,

format long

rand('state',1)

A=rand(3,3)

B=diag(diag(A))

C=A-B

A =

0.95278214965662 0.59815852417219 0.83681960067634

0.70406216677500 0.84074319811307 0.51870305972492

0.95387747359223 0.44281884223513 0.02220977857260

B =

0.95278214965662 0 0

0 0.84074319811307 0

0 0 0.02220977857260

C =

0 0.59815852417219 0.83681960067634

0.70406216677500 0 0.51870305972492

0.95387747359223 0.44281884223513 0

6.先运行指令x=-3*pi:pi/15:3*pi; y=x; [X,Y]=meshgrid(x,y); warning off;

Z=sin(X).*sin(Y)./X./Y; 产生矩阵Z。(1)请问矩阵Z中有多少个“非数”数据?

(2)用指令surf(X,Y,Z); shading interp观察所绘的图形。(3)请写出绘制相应的“无裂缝”图形的全部指令。

x=-3*pi:pi/15:3*pi;

y=x;

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

warning off

Z=sin(X).*sin(Y)./X./Y;

NumOfNaN=sum(sum(isnan(Z))) %计算“非数”数目

subplot(1,2,1),surf(X,Y,Z),shading interp,title('有缝图') %产生无缝图

XX=X+(X==0)*eps;

YY=Y+(Y==0)*eps;

ZZ=sin(XX).*sin(YY)./XX./YY;

subplot(1,2,2),surf(XX,YY,ZZ),shading interp,title('无缝图')

NumOfNaN =

181

相关文档
最新文档