习题2-数值数组及向量化运算_第1页
习题2-数值数组及向量化运算_第2页
习题2-数值数组及向量化运算_第3页
习题2-数值数组及向量化运算_第4页
习题2-数值数组及向量化运算_第5页
已阅读5页,还剩2页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、精选优质文档-倾情为你奉上习题21 请读者先运行以下指令a=0;b=pi;t1=a:pi/9:pi;t2=linspace(a,b,10);T=t1*t2'F=find(T<0);然后,请回答变量a、t1、T、F的维度、规模、长度分别是多少?t1完全等于t2吗?为什么?1)产生数据a=0;b=pi;t1=a:pi/9:pi;t2=linspace(a,b,10);T=t1*t2'F=find(T<0); 2)罗列各变量的特征Na=ndims(a);Nt1=ndims(t1);NT=ndims(T);NF=ndims(F);Sa=size(a);St1=size(t1

2、);ST=size(T);SF=size(F);La=length(a);Lt1=length(t1);LT=length(T);LF=length(F);fprintf('数组%7s%8s%8s%8sn','a','t1','T','F')fprintf('维度数%5d%8d%8d%8dn',Na,Nt1,NT,NF)fprintf('规模%5d%3d%5d%3d%5d%3d%5d%3dn',Sa,St1,ST,SF)fprintf('长度%7d%8d%8d%8dn'

3、;,La,Lt1,LT,LF) 数组 a t1 T F维度数 2 2 2 2规模 1 1 1 10 1 1 0 0长度 1 10 1 0 3)判断数组相等P=t1=t2%对不同浮点计算方法获得的数进行比较的本指令,不推荐使用E=max(abs(t1-t2) P = 1 1 1 1 1 1 0 1 1 1E = 4.4409e-16可见2个数组中的元素不完全相等。应记住:这种现象在数值计算中常常会遇到;并且,若想检验同一个量的不同方法、途径算得的结果,应尽量不用“=”符判断,而应借助“两个量间的(相对)误差水平是否小于某个容差”进行判断。比如pp=abs(t1-t2)<1e-14 pp =

4、 1 1 1 1 1 1 1 1 1 1 2 对于指令A=reshape(1:18,3,6)产生的数组A = 1 4 7 10 13 16 2 5 8 11 14 17 3 6 9 12 15 18先请你用一条指令,使A数组中取值为2、4、8、16的元素都被重新赋值为NaN。然后,再请你用一条指令,把A数组的第4、5两列元素都被重新赋值为Inf。1)产生数组AA=reshape(1:18,3,6) A = 1 4 7 10 13 16 2 5 8 11 14 17 3 6 9 12 15 18 2)利用单序号实现对2、4、8、16的元素的重新赋值A(2,4,8,16)=NaN%这些位置元素的重

5、赋值不可能采用“全下标”一次性实现 A = 1 NaN 7 10 13 NaN NaN 5 NaN 11 14 17 3 6 9 12 15 18 3)利用全下标和冒号对第4、5列元素进行重赋值A(:,4,5)=Inf A = 1 NaN 7 Inf Inf NaN NaN 5 NaN Inf Inf 17 3 6 9 Inf Inf 18 3 由指令rng('default'),A=rand(3,5)生成二维数组A,试求该数组中所有大于0.5的元素的位置,分别求出它们的“全下标”和“单下标”。1)产生试验数组rng('default')A=rand(3,5)A

6、 = 0.8147 0.9134 0.2785 0.9649 0.9572 0.9058 0.6324 0.5469 0.1576 0.4854 0.1270 0.0975 0.9575 0.9706 0.8003 2)寻找数值大于0.5的所有元素的全下标ri,cj=find(A>0.5);disp(' ')disp('大于0.5的元素的全下标')disp('行号 ',int2str(ri')disp('列号 ',int2str(cj') 大于0.5的元素的全下标行号 1 2 1 2 2 3 1 3 1 3列

7、号 1 1 2 2 3 3 4 4 5 5 3)寻找数值大于0.5的所有元素的单序号id=find(A>0.5);disp(' ')disp('大于0.5的元素的单序号') disp(id') 大于0.5的元素的单序号 1 2 4 5 8 9 10 12 13 15 4 已知A=magic(3),B=rand(3),请回答以下问题:(1)A.*B和B.*A的运行结果相同吗?请说出理由。(2)A*B和A.*B的运行结果相同吗?请说出理由。(3)A*B和B*A的运行结果相同吗?请说出理由。(4)A.B和B./A的运行结果相同吗?请说出理由。(5)AB和

8、B/A的运行结果相同吗?请说出理由。(6)A*AB-B和A*(AB)-B的运行结果相同吗?它们中那个结果的元素都十分接近于0?(7)Aeye(3)和eye(3)/A的运行结果相同吗?为什么?(1)相同。数组对应元素间相乘运算,服从交换律。(2)不同。前者是矩阵乘积,后者是数组对应元素的乘积。(3)不同。矩阵乘运算不服从交换律。(4)相同。因为在两个指令中,数组A始终是“除数组”,而B是“被除数组”。(5)一般不同。前者是B左除A,后者是B右除A。(6)后者结果接近于全0元素阵。A*(AB)-B相当于A*(inv(A)*B)-B,所以几乎为0阵。(7)相同。实际上得到的就是A的逆阵。5 已知矩阵

9、,(1)运行指令B1=A.(0.5), B2=0.5.A, B3=A(0.5), B4=0.5A可以观察到不同运算方法所得结果不同。(2)请分别写出根据B1, B2, B3, B4恢复原矩阵A的M码。1)生成四个指数运算结果A=1,2;3,4;B1=A.0.5B2=0.5.A%等式两边进行若进行对数操作,可得 B3=A0.5B4=0.5A%等式两边进行若进行矩阵对数操作,可得 B1 = 1.0000 1.4142 1.7321 2.0000B2 = 0.5000 0.2500 0.1250 0.0625B3 = 0.5537 + 0.4644i 0.8070 - 0.2124i 1.2104

10、- 0.3186i 1.7641 + 0.1458iB4 = 0.9910 -0.4422 -0.6634 0.3276 2)逆运算A1=B1.2A2=log(B2)/log(0.5)A3=B32A4=logm(B4)/logm(0.5) A1 = 1.0000 2.0000 3.0000 4.0000A2 = 1 2 3 4A3 = 1.0000 + 0.0000i 2.0000 + 0.0000i 3.0000 - 0.0000i 4.0000 + 0.0000iA4 = 1.0000 2.0000 3.0000 4.0000 6 先运行指令x=-3*pi:pi/15:3*pi; y=x;

11、 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)请写出绘制相应的“无裂缝”图形的全部指令。(提示:isnan用于判断是否非数;可借助sum求和;realmin是最小正数。)解答x=-3*pi:pi/15:3*pi;y=x;X,Y=meshgrid(x,y);warning offZ=sin(X).*sin(Y)./X./Y;NumOfNaN=sum(sum(isnan(Z)%计算“非数”数目

12、%NumOfNaN2= length(find(isnan(Z)=1)subplot(1,2,1),surf(X,Y,Z),shading interp,title('有缝图')%产生无缝图XX=X+(X=0)*realmin;YY=Y+(Y=0)*realmin; % realmin返回指定浮点数类型所能表示的最小值ZZ=sin(XX).*sin(YY)./XX./YY;subplot(1,2,2),surf(XX,YY,ZZ),shading interp,title('无缝图') NumOfNaN = 181 7 在时间区间 0,10中,绘制曲线。要求分别采取“非向量化编程”和“向量化 编程”编写两段程序绘图。解答%标量循环运算法t=linspace(0,10,200);N=length(t);y1=zeros(size(t);for k=1:Ny1(k)=1-exp(-0.5*t(k)*cos(2*t(

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论