ch3数组Word格式文档下载.docx
- 文档编号:7753342
- 上传时间:2023-05-09
- 格式:DOCX
- 页数:30
- 大小:261.06KB
ch3数组Word格式文档下载.docx
《ch3数组Word格式文档下载.docx》由会员分享,可在线阅读,更多相关《ch3数组Word格式文档下载.docx(30页珍藏版)》请在冰点文库上搜索。
1)
a=2.7358;
b=33/79;
%
na=ndims(a)%
sa=size(a)%
na=
sa=
11
2)
C=[1,2*a+i*b,b*sqrt(a);
sin(pi/4),a+5*b,3.5+i]%
nC=ndims(C)%
SC=size(C)%
C=
1.0000+0.0000i5.4716+0.4177i0.6909+0.0000i
0.7071+0.0000i4.8244+0.0000i3.5000+1.0000i
nC=
SC=
23
102中规模数组的数组编辑器创建法
【例3.1-3】
0.64590.96370.52890.07100.83260.9786
0.43760.38340.56800.08710.77820.7992
1.89180.79170.92560.02020.87000.4615
操作步骤如下:
3)
4)
图3.1-2
103中规模的M文件创建法
【例3.1-4】
操作步骤如下:
1)打开文件编辑器EDITOR
2)编写脚本内容
3)保存文件
4)运行文件生成数组
图3.1-3
104利用MATLAB函数创建数组
表3.1-1
指令
含义
diag
ones
eye
zeros
magic
rand
random
randn
randsrc
gallery
【例3.1-5】
ones(2,4)%
ans=
1111
1111
rng(0)%
randn(2,3)%
0.5377-2.25880.3188
1.83390.8622-1.3077
D=eye(3)%
D=
100
010
001
diag(D)%
1
1
diag(diag(D))%
randsrc(3,20,[-3,-1,1,3],1)
%
%
Columns1through12
-1-1-31-31-333-3-31
1-3-1-13-1-3-13-3-11
-3-3-11-3131-333-1
Columns13through20
13-1-1-11-1-3
3333-3-3-31
-31-3-1-3-111
.1.4数组构作技法综合
表3.1-2
repmat
reshape
flipud
fliplr
rot90
【例3.1-6】
a=1:
8%
A=reshape(a,4,2)%
A=reshape(A,2,4)%
a=
12345678
A=
15
26
37
48
1357
2468
b=diag(A)%
B=diag(b)%
b=
4
B=
10
04
D1=repmat(B,2,4)%
D1=
10101010
04040404
04040404
D1([1,3],:
)=[]%
【例3.1-7】
A=reshape(1:
9,3,3)
147
258
369
B=flipud(A)%
369
147
C=fliplr(A)%
741
852
963
D=rot90(A,2)%
963
741
.2数组元素编址及寻访
.2.1数组元素的编址
101全下标编址和单序号编址
图3.2-1
102两种编址间的转换
.2.2二维数组元素的寻访
101按址寻访
表3.2-1
格式
使用说明
全下标
寻访
A(r,c)
A(r,:
)
A(:
c)
单序号
A(ind)
102按条件寻访
【例3.2-1】
clear
A=[1:
3:
16;
2:
17;
18]%
147101316
258111417
369121518
Ass1=A(2,3)%
r=[2,3];
%
c=[1,5];
As22=A(r,c)%
Ass1=
8
As22=
214
315
As26=A([1,3],:
)%
As26=
Ais1=A(8)%
ind=[1,3,18];
Ai1r=A(ind)%
Ai1c=A(ind'
)%
Ais1=
Ai1r=
1318
Ai1c=
3
18
A(r,c)=zeros(2,2)%
A([1,end])=-A([1,end])%<
13>
05811017
06912018
-147101316
069120-18
5)
L=A<
=0%
AL=A(L)%
L=
100000
100010
100011
AL=
-1
0
-18
A(L)=NaN%
NaN47101316
NaN5811NaN17
NaN6912NaNNaN
.3数组运算
.3.1实施数组运算的算符
101算符数组运算通则
102算术、关系、逻辑算符
表3.3-1
算术运算
ArithmeticOperations
算符
+
-
.*
.\或./
.^
名称
加
减
数组乘
数组左除或数组右除
数组幂
示例
关系运算
RelationalOperations
>
<
=
==
~=
大于
小于
大于等于
小于等于
等于
不等于
逻辑运算
LogicalOperations
&
|
~
xor
与
或
非
异或
103各种算符的优先级别
表3.2-3
代数运算
.*、./、.\
+、-
==、~=
、<
、>
=、<
104算符数组运算实例及机理解释
【例3.3-1】
t=-3*pi:
pi/10:
3*pi;
%
st=sin(t);
%<
3>
y=st./t;
4>
Lt=(t==0);
5>
tt=t+Lt.*realmin;
%<
6>
yy=sin(tt)./tt;
7>
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])
tt'
yy'
正确图形'
)
图3.3-1
图3.3-2
图3.3-3
图3.3-4
【例3.3-2】
A=[-2,-1,0,0,1,2,3]
B=[0,-1,1,0,1,-2,-3]
disp(['
A的数据类型是'
class(A)])
-2-100123
0-1101-2-3
A的数据类型是double
R1=A==B%<
R2=A>
B%<
fprintf('
R1的数据类型是什么?
%s\n'
class(R1))
R2的数据属于逻辑类?
(1为真;
0为假)%d\n'
islogical(R2))%<
R1=
0101100
R2=
0000011
logical
0为假)1
LA=logical(A)%<
8>
LB=logical(B)
L1=LA&
LB
LL1=A&
B%
LA=
1100111
LB=
0110111
L1=
0100111
LL1=
0100111
L3=xor(LA,LB)%
LL3=xor(A,B)%<
12>
L3=
1010000
LL3=
1010000
TOTAL1=all([1,1,1,1,1])
TOTAL2=all([1,0,1,1,1])
TOTAL1=
TOTAL2=
0
6)
ANYONE1=any([0,1,0,0,0])
ANYONE2=any([0,0,0,0,0])
ANYONE1=
ANYONE2=
.3.2实施数组运算的函数
101函数数组运算通则
102服从数组运算通则的M函数
表3.2-4服从数组运算通则的MATLAB函数
分类
M函数名称
三角函数
Trigonometry
弧度单位
sin,cos,tan,cot,sec,csc
asin,acos,atan,acot,asec,acsc
度数单位
sind,cosd,tand,cotd,secd,cscd
asind,acosd,atand,acotd,asecd,acscd
双曲类
sinh,cosh,tanh,coth,sech,csch
asinh,acosh,atanh,acoth,asech,acsch
指数函数
Exponential
exp
log,log10,log2,log1p,reallog
nexpow2,pow2,realpow,
sqrt,realsqrt,nthroot
复函数
Complex
abs,angle
real,imag,conj,
sign,unwrap
圆整求余函数
RoundingandRemainder
ceil,fix,floor,idivide,mod,rem,round
特殊函数
SpecialFunctions
airy,besselh,besseli,beta,ellipj,erf,erfinv,
gamma,gammaln,psi
数据类型转换函数
ConversionFunction
char,double,logical,int2str,int8,int16,num2str,uint8,uint16
.3.3数组运算中的溢出及非数处理
.3.4数组化编程
【例3.3-3】
functiony=exm030303_1(x)
%exm030303_1
%x
%y
M=length(x);
y=zeros(1,M);
forjj=1:
M
ifx(jj)<
=-1
y(jj)=x(jj);
elseif-1<
x(jj)&
x(jj)<
=1
y(jj)=x(jj)^3*cos(2*pi*x(jj));
else
y(jj)=exp(-x(jj)+1);
end
functiony=exm030303_2(x)
%exm030303_2
L1=x<
=1;
2>
L2=-1<
x&
x<
%<
L3=1<
x;
y=zeros(size(x));
%<
y(L1)=x(L1);
%<
y(L2)=x(L2).^3.*cos(2*pi*x(L2));
%<
y(L3)=exp(-x(L3)+1);
%<
x=-2:
0.01:
2;
y1=exm030303_1(x);
y2=exm030303_2(x);
e12=max(abs(y1(:
)-y2(:
)))%
clf%
plot(x,y2,'
r'
'
Linewidth'
3)%
x'
)%
gridon%
axis([-2,2,min(min(y1)),max(max(y1))])%
e12=
图3.3-5
.4矩阵及其运算
.4.1矩阵和数组的异同
表3.4-1
数组
矩阵
概念
来源和背景
一般
记述方式
维(度)
的含义
元素
排列结构
算法定义
加法
乘法
代数结构
.4.2矩阵运算符和矩阵函数
101独特的矩阵运算符
表3.4-2
矩阵运算名称
运算规则
乘
标量与矩阵乘
*
矩阵与矩阵乘
除
左除
右除
\
/
幂
标量为底的方阵指数
^
方阵底的标量指数
102矩阵函数
表3.4-3
函数名称
举例
M码
M码的数学内涵简述
专用矩阵函数
矩阵指数函数
矩阵对数函数
矩阵平方根函数
通用矩阵函数
【例3.4-1】
Am=magic(3)%
Aa=reshape(1:
12,3,4)%
B=repmat(1:
4,3,1)%
Am=
816
357
492
Aa=
14710
25811
36912
1234
1234
AmmB=Am*B%
AamB=Aa.*B%
AmmB=
15304560
AamB=
182140
2102444
3122748
AmLdB=Am\B%
AaadB=Aa.\B%
AmLdB=
0.06670.13330.20000.2667
AaadB=
1.00000.50000.42860.4000
0.50000.40000.37500.3636
0.33330.33330.33330.3333
Amm2=Am^2%
Ama2=Am.^2%
Amm2=
916767
679167
676791
Ama2=
64136
92549
16814
Am2m=2^Am%
Am2a=2.^Am%
Am2m=
1.0e+04*
1.09421.09061.0921
1.09121.09331.0924
1.09151.09301.0923
Am2a=
256264
832128
165124
D=randn(3,3);
AmLdD=Am\D%
DRdAm=D/Am%
AmLdD=
-0.3301-0.00270.1153
-0.2305-0.18360.4118
0.56810.1778-0.2946
DRdAm=
0.0349-0.14040.1699
0.2438-0.19310.1156
-0.32220.9731-0.6501
.4.3矩阵化编程
【例3.4-2】采用“实数标量+循环”法和“MATLAB矩阵乘算符”分别计算两个复数矩阵
和
的乘积。
1)
functionD=exm030402_1(A,B)
%D=exm030402_1(A,B)
%A、B
%D
[m,p]=size(A);
[q,n]=size(B);
ifp~=q%
error('
A阵的列数不等于B阵的行数,所以A不能与B相乘!
'
forii=1:
m
forjj=1:
n
wr=0;
wi=0;
fork=1:
p
wr=wr+real(A(ii,k))*real(B(k,jj))...
-imag(A(ii,k))*imag(B(k,jj));
wi=wi+real(A(ii,k))*imag(B(k,jj))...
+imag(A(ii,k))*real(B(k,jj));
end
D(ii,jj)=wr+j*wi;
end
rng('
default'
)%
m=100;
p=300;
n=200;
A=randn(m,p)+1j*randn(m,p);
%
B=randn(p,n)+1j*randn(p,n);
%
tic%
Dc=exm030402_1(A,B);
Tc=toc;
%
tic
Dm=A*B;
%
Tm=toc;
RE=abs((Dm-Dc)./Dm);
re=max(RE(:
));
tmc=Tm/Tc;
两种编码所得矩阵间的最大元素相对误差为%6.4e\n'
re)
“直接乘算符法”耗时与“标量循环法”耗
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- ch3 数组
![提示](https://static.bingdoc.com/images/bang_tan.gif)