实验2 数值数组及运算
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
实验2 数值数组及运算
一、实验目的
(1)掌握一维数组、二维数组、多项式和高维数组的创建
(2)掌握对数组操作的常用函数
二、实验内容
1.使用冒号运算符创建下面各表达式对应的向量。
a) x=linspace(1,10,5); x=1:2.25:10
b) x=linspace(-5,5); x=-5:0.1:5
c) x=logspace(1,3,3); x=10.^[1;3]
d) x=logspace(1,3,5);
2.利用MATLAB 内置函数计算下面的值。
a) cosh(5) cosh(5)
b) sinh(-2) sinh(-2)
c) (e 5+e -5)/2 (exp(5)+exp(-5))/2
d) erf(1.2) ,其中,ηηd e x erf x
⎰-=02
)((提示:用help 查一下erf 的调用格式)
erf(1.2)
3.用linspace 函数创建下面表达式的对应向量
a) x=0:10; x=linspace(0,10,11)
b) x=0:0.2:10; x=linspace(0,10,51)
c) x=-12:12; x=linspace(-12,12,25)
d) x=10:-1:1; x=linspace(10,1,10)
4.给定行向量[]78910=x 和列向量⎥⎥⎥⎥
⎦
⎤⎢⎢⎢⎢⎣⎡=4321y ,至少使用两种不同的方法求行向量z 。其中i i i y x z -=
x=[10 9 8 7]; y=[1 2 3 4]’; z=x-y ’
5.在MATLAB 中输入下列矩阵,再求出他们的乘积矩阵C ,并将C 矩阵的右下角的2×3子矩阵赋给D 矩阵。
⎥⎥⎥⎥⎥⎥⎦
⎤⎢⎢⎢⎢⎢⎢⎣⎡=49819323753175323321A ,⎥⎥⎥⎥⎦⎤⎢⎢⎢⎢⎣⎡++=3498143576255332763441i i B
A=[1 2 3 3;2 3 5 7;1 3 5 7;3 2 3 9;1 8 9 4];
B=[1+4i 4 3 6 7;2 3 3 5 5;2 6+7i 5 3 4;1 8 9 4 3];
C=A*B
D=C(4:5,3:5)
6.根据下面两个矩阵,执行下列的矩阵运算指令。
⎥⎥⎥⎦⎤⎢⎢⎢⎣⎡=136782078451220124A ,⎥⎥⎥⎦
⎤⎢⎢⎢⎣⎡=087654321B A=[4 12 20;12 45 78;20 78 136];
B=[1 2 3;4 5 6;7 8 0];
I=[1 0 0;0 1 0;0 0 1];
(1) A+5*B 和A-B+I 分别是多少(I 是单位矩阵)
A+5*B A-B+I
(2) A.*B 和A*B 将分别给出什么结果,他们是否相同,为什么?
A.*B A*B
不带点式矩阵相乘,带点式数组相乘
(3) 得出A.^B ,A\B 和A/B 的结果
A.^B A\B A/B
(4) 找出A 矩阵中大于50到100之间的元素,B 矩阵中大于5的元素 A(find((A>50)&(A<100))) B(find(B>5))
7.若[]NaN Inf Inf NaN A 521-=,运行下面的指令,并解释为什么会出现这样的结果。isnan(A),isfinite(A),isinf(A),any(A),all(A).
8.求出以下矩阵的逆矩阵。
⎥⎥⎥⎦⎤⎢⎢⎢⎣⎡----=627943251A ,⎥⎥⎥⎦
⎤⎢⎢⎢⎣⎡---=)6sin()2sin()7sin()9sin()4sin()3sin()2sin()5sin()1sin(B inv(A) inv(B) inv(取逆)
9.编写MATLAB 语句来手工输入矩阵A ,然后从矩阵A 得到矩阵B
⎥⎥⎥⎦⎤⎢⎢⎢⎣⎡=987654321A ,⎥⎥⎥⎦
⎤⎢⎢⎢⎣⎡=321654987B A=[1 2 3;4 5 6;7 8 9];
B=flipud(A) flipud(第一行与最后一行互换)
10. 矩阵可以看成是行向量和列向量的组合。给定行向量[]321=u 和
[]654=v ,用一条语句求2×3矩阵A 。其中u 是第一行,v 是第二行。
u=[1 2 3];
v=[4 5 6];
A=[u;v]
11. 给定矩阵⎥⎥⎦
⎤⎢⎢⎢⎣⎡=71812511C ,用两行语句实现从C 中引用列向量,得出]18211['=s 和]715['=t 。
C=[11 5;2 1;18 7];
s=C(:,1) t=C(:,2)
12. 使用diag 函数和冒号运算符创建下面矩阵
⎥⎥⎥⎥⎦
⎤⎢⎢⎢⎢⎣⎡⎥⎥⎥⎥⎦⎤⎢⎢⎢⎢⎣⎡⎥⎥⎥⎥⎦⎤⎢⎢⎢⎢⎣⎡19000
0130000700001)(,1000020000300004)(,4000030000200001)(c b a diag(1:1:4) diag(4:-1:1) diag(1:6:19)
13. 使用diag 函数创建n ×n 对称三对角阵。 ⎥⎥⎥⎥⎦
⎤⎢⎢⎢⎢⎣⎡------=2100121001210012D a=[2 2 2 2];b=[-1 -1 -1]
D=diag(a)+diag(b,-1)+diag(b,1)
14. 创建如下矩阵
⎥⎥⎥⎦
⎤⎢⎢⎢⎣⎡=001010100E e=eye(3);E=fliplr(e) fliplr(第一列与最后一列互换) 15. 用一条语句创建如下矩阵(提示:使用矩阵相加以及内置命令tril (取
下三角),ones (全一),eye (单位阵)和zeros (全零))triu(取下三角)
⎥⎥⎥⎥⎥⎥⎦
⎤⎢⎢⎢⎢⎢⎢⎣⎡----------=1111111111101111001110001A a=2*eye(5)-ones(5) b=tril(a) b(:,5)=1
16. 使用rehape 函数和冒号运算符创建下列矩阵。
⎥⎦⎤⎢⎣⎡-----=⎥⎥⎥⎦
⎤⎢⎢⎢⎣⎡=642024531135)(,24181262216104201482)(B b A a reshape(2:2:24,3,4) reshape(-5:1:6,2,6) reshape(按列加)