收藏 分销(赏)

MATLAB-第三章习题.docx

上传人:仙人****88 文档编号:9254128 上传时间:2025-03-18 格式:DOCX 页数:6 大小:78.47KB 下载积分:10 金币
下载 相关 举报
MATLAB-第三章习题.docx_第1页
第1页 / 共6页
MATLAB-第三章习题.docx_第2页
第2页 / 共6页


点击查看更多>>
资源描述
第三章 1. 要求在闭区间上产生具有10个等距采样点的一维数组。试用两种不同的指令实现。 方法一   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 12 13 14 3. 已知矩阵,运行指令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=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 7. 下面有一段程序,企图用来解决如下计算任务:有矩阵,当依次取10, 9, 8, 7, 6, 5, 4, 3, 2, 1时,计算矩阵“各列元素的和”,并把此求和结果存放为矩阵Sa的第k行。例如时,A阵为,此时它各列元素 的和是一个行数组,并把它保存为Sa的第3行。问题:该段程序的计算结果对吗?假如计算结果不正确,请指出错误发生的根源,并改正之。 (1)错误根源 for k=10:-1:1 A=reshape(1:10*k,k,10); Sa(k,:)=sum(A); end Sa Sa = 55 55 55 55 55 55 55 55 55 55 3 7 11 15 19 23 27 31 35 39 6 15 24 33 42 51 60 69 78 87 10 26 42 58 74 90 106 122 138 154 15 40 65 90 115 140 165 190 215 240 21 57 93 129 165 201 237 273 309 345 28 77 126 175 224 273 322 371 420 469 36 100 164 228 292 356 420 484 548 612 45 126 207 288 369 450 531 612 693 774 55 155 255 355 455 555 655 755 855 955 (2)正确性分析    sum对二维数组,求和按列施行;而对一维数组,不管行数组或列数组,总是求那数组所有元素的和。   for k=10:-1:1   A=reshape(1:10*k,k,10);   Sa(k,:)=sum(A);   if k==1    Sa(k,:)=A; end  end  Sa    Sa = 1 2 3 4 5 6 7 8 9 10 3 7 11 15 19 23 27 31 35 39 6 15 24 33 42 51 60 69 78 87 10 26 42 58 74 90 106 122 138 154 15 40 65 90 115 140 165 190 215 240 21 57 93 129 165 201 237 273 309 345 28 77 126 175 224 273 322 371 420 469 36 100 164 228 292 356 420 484 548 612 45 126 207 288 369 450 531 612 693 774 55 155 255 355 455 555 655 755 855 955
展开阅读全文

开通  VIP会员、SVIP会员  优惠大
下载10份以上建议开通VIP会员
下载20份以上建议开通SVIP会员


开通VIP      成为共赢上传

当前位置:首页 > 教育专区 > 小学其他

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        抽奖活动

©2010-2026 宁波自信网络信息技术有限公司  版权所有

客服电话:0574-28810668  投诉电话:18658249818

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :微信公众号    抖音    微博    LOFTER 

客服