教学文库网 - 权威文档分享云平台
您的当前位置:首页 > 文库大全 > 专业资料 >

第三章 数值数组及向量化运算(matlab基础教程)(2)

来源:网络收集 时间:2026-05-18
导读: (2) [X,Y]=meshgrid(x,y); Z=sin(abs(X.*Y)); (3) norm(Z-Z0) ans = 0 (4) surf(X,Y,Z) xlabel('x') ylabel('y') shading interp view([190,70]) 图 3.3-1 指定域上的二元函数图形 3.4 3.4.1 “非数”和“空

(2)

[X,Y]=meshgrid(x,y); Z=sin(abs(X.*Y));

(3)

norm(Z-Z0) ans = 0

(4)

surf(X,Y,Z) xlabel('x') ylabel('y') shading interp

view([190,70])

图 3.3-1 指定域上的二元函数图形

3.4

3.4.1

“非数”和“空”数组

非数NaN

【例3.4-1】非数的产生和性质演示。 (1)非数的产生

a=0/0,b=0*log(0),c=inf-inf

a = NaN b = NaN c =

NaN

(2)非数的传递性

0*a,sin(a)

ans = NaN ans = NaN

(3)非数的属性判断

class(a) isnan(a) ans = double ans = 1

【例3.4-2】非数元素的寻访。

rand('state',0)

R=rand(2,5);R(1,5)=NaN;R(2,3)=NaN R =

0.9501 0.6068 0.8913 0.4565 NaN 0.2311 0.4860 NaN 0.0185 0.4447

LR=isnan(R) LR =

0 0 0 0 1 0 0 1 0 0

si=find(LR) [ri,ci]=ind2sub(size(R),si) [rj,cj]=find(LR)

disp('非数在二维数组R中的位置')

disp(['单下标时的第',int2str(si(1)),'和第',int2str(si(2)),'个元素']) si = 6 9 ri = 2 1 ci = 3 5 rj = 2 1 cj = 3 5

非数在二维数组R中的位置

单下标时的第6和第9个元素

3.4.2 “空”数组

【例3.4-3】关于“空”数组的算例。 (1)创建“空”数组的几种方法

a=[]

b=ones(2,0),c=zeros(2,0),d=eye(2,0) f=rand(2,3,0,4) a =

[] b =

Empty matrix: 2-by-0 c =

Empty matrix: 2-by-0 d =

Empty matrix: 2-by-0 f =

Empty array: 2-by-3-by-0-by-4

(2)“空”数组的属性

class(a) isnumeric(a) isempty(a) ans = double ans = 1 ans = 1

which a ndims(a) size(a) a is a variable. ans = 2 ans =

0 0

(3)“空”数组用于子数组的删除和大数组的大小收缩 A=reshape(-4:5,2,5)

A =

-4 -2 0 2 4 -3 -1 1 3 5

A(:,[2,4])=[] A =

-4 0 4 -3 1 5

3.5

关系操作和逻辑操作

3.5.1

关系操作

【例3.5-1】关系运算示例。

A=1:9,B=10-A

r0=(A<4) r1=(A==B) A =

1 2 3 4 5 6 7 8 9 B =

9 8 7 6 5 4 3 2 1 r0 =

1 1 1 0 0 0 0 0 0 r1 =

0 0 0 0 1 0 0 0 0

【例3.5-2】关系运算应用。

t=-3*pi:pi/10:3*pi; y=sin(t)./t; tt=t+(t==0)*eps; yy=sin(tt)./tt;

subplot(1,2,1),plot(t,y),axis([-9,9,-0.5,1.2]), xlabel('t'),ylabel('y'),title('残缺图形')

subplot(1,2,2),plot(tt,yy),axis([-9,9,-0.5,1.2])

xlabel('tt'),ylabel('yy'),title('正确图形')

图3.5-1 采用近似极限处理前后的图形对照

3.5.2 逻辑操作

【例3.5-3】逻辑操作和关系操作。本例演示:逻辑、关系操作的组合;xor的作用。 (1)逻辑、关系操作的组合

A=[-2,-1,0,0,1,2,3]

L1=~(A>1) %判断A中,哪些元素不大于1

L2=(A>0)&(A<2) %判断A中,哪些元素大于0且小于3 A =

-2 -1 0 0 1 2 3 L1 =

1 1 1 1 1 0 0 L2 =

0 0 0 0 1 0 0

(2)xor的作用

A,B=[0,-1,1,0,1,-2,-3]

C=xor(A,B) %当A, B数组中,两个对应元素中仅一个为0时,给出1。否则为0。

【例3.5-4】试绘制如图3.5-2最下那幅子图所示的“正弦波sint的削顶半波整流波形”,削顶发生在每个周期的[60, 120]之间。

clear,t=linspace(0,3*pi,500);y=sin(t); z1=((t<pi)|(t>2*pi)).*y; w=(t>pi/3&t<2*pi/3)+(t>7*pi/3&t<8*pi/3); wn=~w;

z2=w*sin(pi/3)+wn.*z1;

subplot(4,1,1),plot(t,y,':r'),axis([0,10,-1.5,1.5]) ylabel('y'),grid on

subplot(4,1,2),plot(t,z1,':r'),axis([0,10,-0.2,1.5]),ylabel('z1') subplot(4,1,3),plot(t,wn,':r'),axis([0,10,-0.2,1.5]),ylabel('wn') subplot(4,1,4),plot(t,z2,'-b'),axis([0,10,-0.2,1.5]),ylabel('z2') xlabel('t')

3.5.3 常用逻辑函数

习题3

1. 要求在闭区间[0,2 ]上产生具有10个等距采样点的一维数组。试用两种不同的指令实

现。

2. 由指令rand('state',0),A=rand(3,5)生成二维数组A,试求该数组中所有大于0.5的元素的

位置,分别求出它们的“全下标”和“单下标”。 〖答案〗

大于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. 在使用123作为rand随机数发生器的初始化状态的情况下,写出产生长度为1000的“等

概率双位(即取-1,+1)取值的随机码”程序指令,并给出 -1码的数目。 〖答案〗 Na =

490

4. 已知矩阵A

12

,运行指令B1=A.^(0.5), B2=A^(0.5), 可以观察到不同运算方法所 34

得结果不同。(1)请分别写出根据B1, B2恢复原矩阵A的程序。(2)用指令检验所得的两个恢复矩阵是否相等。

5. 在时间区间 [0,10]中,绘制y 1 e 0.5tcos2t曲线。要求分别采取“标量循环运算法”

和“数组运算法”编写两段程序绘图。

6. 先运行clear,format long,rand('state',1),A=rand(3,3),然后根据A写出两个矩阵:一个对

角阵B,其相应元素由A的对角元素构成;另一个矩阵C,其对角元素全为0,而其余元素与对应的A阵元素相同。

7. 先运行指令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)请写出绘制相应的“无裂缝”图形的全部指令。

〖答案〗

NumOfNaN = 181

1k 1 9k 1 2k 2 9k 2

,8. 下面有一段程序,企图用来解决如下计算任务:有矩阵Ak

k2k 10k

当k依次取10, 9, 8, 7, 6, 5, 4, 3, 2, 1时,计算矩阵Ak“各列元素的和”,并把此求和

14 28 结果存放为矩阵Sa的第k行。例如k 3时,A阵为25 29,此时它各列元 36 30

素 的和是一个(1 10)行数组 615 87 ,并把它保存为Sa的第3行。问题:该

段程序的计算结果对吗?假如计算结果不正确,请指出错误发生的根源,并改正之。 for k=10:-1:1

A=reshape(1:10*k,k,10); Sa(k,:)= …… 此处隐藏:1776字,全部文档内容请下载后查看。喜欢就下载吧 ……

第三章 数值数组及向量化运算(matlab基础教程)(2).doc 将本文的Word文档下载到电脑,方便复制、编辑、收藏和打印
本文链接:https://www.jiaowen.net/wenku/269798.html(转载请注明文章来源)
Copyright © 2020-2025 教文网 版权所有
声明 :本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,如果我们转载的作品侵犯了您的权利,请在一个月内通知我们,我们会及时删除。
客服QQ:78024566 邮箱:78024566@qq.com
苏ICP备19068818号-2
Top
× 游客快捷下载通道(下载后可以自由复制和排版)
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
注:下载文档有可能出现无法下载或内容有问题,请联系客服协助您处理。
× 常见问题(客服时间:周一到周五 9:30-18:00)