实验2 Matlab矩阵及其运算

一、实验目的和要求

1.了解Matlab矩阵运算的含义;

2.掌握Matlab的矩阵运算命令。

二、实验内容和步骤

1.计算下列表达式的值。

(1)计算值。

输入的命令:re=5.54^12+sin(3/5)*sqrt(17.89)/3.5-exp(3)

结果:re =8.3583e+08

“short”格式显示的结果:re =8.3583e+08

“long”格式显示的结果:re =8.358284828091042e+08

“rat”格式显示的结果:re =835828483

(2)计算表达式值,其中

输入的命令:x=1+2i;y=3-sqrt(17);(cos(abs(x+y))-sind(78))/(x+abs(y))

结果:ans =-0.3488 + 0.3286i

2.给定矩阵

键入A=[4,2,8;2,5,6;3,1,9],生成矩阵A;

键入B=[1,1,1;2,2,2;3,3,3],生成矩阵B。

3.在上一题的基础上,一次输入下列内容并根据输出完善下列表格。

输入内容

输出

作用

A(2,3)

6

A(2,3)表示矩阵A的第2行、第3列的元素

A(:,2)

2

5

1

A(:,2)表示矩阵A的第2列所有元素

A(3,:)

3     1     9

A(3,:)表示矩阵A的第3行所有元素

A(:,1:2:3)

4     8

2     6

3     9

A(:,1:2:3)取矩阵A的第1列和第3列的值

A*B

32    32    32

30    30    30

32    32    32

A*B矩阵乘法(A的列数等于B的行数)

A.*B

4     2     8

4    10    12

9     3    27

A.*B表示A和B两矩阵对应元素的乘积

A^2

44    26   116

36    35   100

41    20   111

A^2=A*A矩阵的乘方(A必须是方阵)

A.^2

16     4    64

 4    25    36

 9     1    81

A.^2数组元素对应元素乘方

B/A

0.5000    0.0769   -0.3846

1.0000    0.1538   -0.7692

1.5000    0.2308   -1.1538

当B可逆时,A/B=AB-1,左除

B./A

0.2500    0.5000    0.1250

1.0000    0.4000    0.3333

1.0000    3.0000    0.3333

B./A数组运算,对应元素相除

4.依次写出完成下列操作所对应的语句:

  1. 产生一个5阶魔方矩阵M:M=magic(5)
  2. 将矩阵M的第3行4列元素赋值给变量t:t=M(3,4)
  3. 将矩阵M第2、3、4行第2、5列构成的子矩阵赋给变量N:N=M(2:4,[2 5])
  4. 将矩阵M的前3行赋值给变量N:N=M(1:3,:)
  5. 将矩阵M的后3列赋值给变量N:N=M(:,3:end)
  6. 将矩阵M的偶数行、奇数列赋给变量N:N=M(2:2:end,1:2:end)
  7. 将矩阵M的内部元素赋给变量N:N=M
  8. 提取M的主对角线元素,并以这些对角线元素构成对角矩阵N:N=diag(diag(M))
  9. 随机产生1000个0、1整数赋值给变量t:t=randi([0,1],1000)
  10. 随机产生100*5个三位正整数并赋值给变量M:M=randi([100,999],100,5)
  11. 生成矩阵2010*eye(10)
  12. 生成矩阵(ones(8)-eye(8))*6
  13. 生成矩阵a=[1:10]';b=ones(10);a.*b
  14. 生成矩阵a=ones(2);b=2*a;c=3*a;d=4*a;[a,b;c,d]

5.写出完成下列操作的命令。

(1)将含有12个元素的向量t转换成3*4的矩阵:t=reshape(t,3,4)

(2)产生和M同样大小的单位矩阵:eye(size(M))

(3)删除矩阵M的第2行:M(2,:)=[]

(4)删除矩阵M的第1列和最后一列:M(:,[1 end])=[]

(5)逆序显示向量t中的元素:t(end:-1:1,end:-1:1)

(6)显示向量t偶数位置上的元素:t([2:2:end])

(7)逆序显示向量t偶数位置上的元素:fliplr(flipud(t([2:2:end])))

(8)显示向量t中的偶数:t(mod(t,2)==0)

(9)显示向量t中的正数:t(t>0)

(10)显示向量t中的素数:t(isprime(abs(t)))

(11)将向量t中小于10的数置为0:t(t<10)=0

(12)将向量t中的0元素用机器0来代替:t(t==0)=realmin

(13)显示字符串S中的元音字母:s(ismember(s,'aeiouAEIOU'))

(14)将字符串S中的小写字母’a’转换为大写的’A’:s(s=='a')='A'

(15)统计字符串S中小写字母的个数:sum(s>='a'&s<='z')

(16)统计向量t中非零元素的个数:sum(t~=0)

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

苏妹妹的第2333任男友

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值