习题2-数值数组及向量化运算[辅导教育].doc

上传人:rrsccc 文档编号:10038561 上传时间:2021-04-13 格式:DOC 页数:7 大小:78KB
返回 下载 相关 举报
习题2-数值数组及向量化运算[辅导教育].doc_第1页
第1页 / 共7页
习题2-数值数组及向量化运算[辅导教育].doc_第2页
第2页 / 共7页
习题2-数值数组及向量化运算[辅导教育].doc_第3页
第3页 / 共7页
亲,该文档总共7页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述

《习题2-数值数组及向量化运算[辅导教育].doc》由会员分享,可在线阅读,更多相关《习题2-数值数组及向量化运算[辅导教育].doc(7页珍藏版)》请在三一文库上搜索。

1、习题21 请读者先运行以下指令a=0;b=pi;t1=a:pi/9:pi;t2=linspace(a,b,10);T=t1*t2;F=find(T0);然后,请回答变量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(T0); 2)罗列各变量的特征Na=ndims(a);Nt1=ndims(t1);NT=ndims(T);NF=ndims(F);Sa=size(a);St1=size(t1);ST=size(T);SF=size(F);La=le

2、ngth(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,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%对不同浮点计算方法获得的数进行比较的本指令,不推

3、荐使用E=max(abs(t1-t2) P = 1 1 1 1 1 1 0 1 1 1E = 4.4409e-16可见2个数组中的元素不完全相等。应记住:这种现象在数值计算中常常会遇到;并且,若想检验同一个量的不同方法、途径算得的结果,应尽量不用“=”符判断,而应借助“两个量间的(相对)误差水平是否小于某个容差”进行判断。比如pp=abs(t1-t2)0.5);disp( )disp(大于0.5的元素的全下标)disp(行号 ,int2str(ri)disp(列号 ,int2str(cj) 大于0.5的元素的全下标行号 1 2 1 2 2 3 1 3 1 3列号 1 1 2 2 3 3 4 4

4、 5 5 3)寻找数值大于0.5的所有元素的单序号id=find(A0.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和B/A的运行结果相同吗?请说出理由。(6)A*AB-B和A*(AB)-B的运行结果相同吗?它

5、们中那个结果的元素都十分接近于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 已知矩阵,(1)运行指令B1=A.(0.5), B2=0.5.A, B3=A(0.5), B4=0.

6、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 - 0.3186i 1.7641 + 0.1458iB4 = 0.9910 -0.4422

7、-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; X,Y=meshgrid(x,y); warning off; Z=sin(X).*sin

8、(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)%计算“非数”数目%NumOfNaN2= length(find(isnan(Z)=1)subplot(1,2

9、,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(k);endsubplot(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 7教-资

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 社会民生


经营许可证编号:宁ICP备18001539号-1