1.6 MATLAB基本运算

写在前面:作者本人是纯纯的菜鸟,学习的内容来自于 中国大学MOOC 中南大学 《科学计算与MATLAB语言》,欢迎各位大佬或新手在这里和平讨论,如果我有错误请各位不吝赐教,提前感谢各位捧场!


一、MATLAB基本运算分类

  • 算术运算
  • 关系运算
  • 逻辑运算

注:MATLAB中的各种运算都是针对矩阵而言的,单个数字之间的运算仅仅是MATLAB运算中的特例。

二、算术运算

1.基本算术运算

类似于数学中的算术运算,包括加(+)减(-)乘(*)除和乘方(^)运算,其中对于除法,有右除(/)左除(\)运算之别。

2.各种算术运算的要求及使用

a.加减运算

要求:进行加减运算的两个矩阵必须同型,否则MATLAB将会产生错误信息。

特殊情况:一个标量与一个矩阵相加减,此时该标量会与矩阵的每个元素相加减产生新的矩阵。

b.乘运算

要求:前一个矩阵的列数必须与后一个矩阵的行数相同,否则将产生错误信息。

c.除法运算

右除(/)和左除(\):如果A矩阵是非奇异方阵,则B/A等效于B*inv(A);A\B等效于inv(A)*B

对右除和左除的个人理解:“返回小学”右除就是“除以”,左除就是“除”。

对于一般方阵,右除和左除运算的结果一般不同;(如下图)

特殊地,对于含有标量的运算,两种除法运算的结果相同。(如下图)

d.乘方运算

一个矩阵的乘方可以表示为A^x,A为矩阵,x为标量。

A=[1 2 3;4 5 6;7 8 9];
B=A^2
%B=A*A

3.点运算

a.为什么叫点运算?

因为点运算是在算术运算符前面加“.”

b.点运算要求及使用

要求:两个矩阵必须同型

使用:两矩阵间对应元素进行运算,得到一个与原矩阵大小相同的新矩阵。

例题:求当x=0.1,0.4,0.7,1时,y=sin(x)cos(x)的对应值

思路:使用点运算符

x=0.1:0.3:1;
%构造x向量
y=sin(x).*cos(x)
%注意,因为要进行对应元素相乘,故必须使用.*运算符
%若使用*运算符,此时sin(x)和cos(x)分别是1行4列的行向量,MATLAB会产生错误信息

三、关系运算

MATLAB常用关系运算符<,<=,>,>=,==(等于),~=(不等于)

a.如何运算?

情况一:当两个标量进行关系运算时:

若条件为真,则输出1;反之,则输出0。

如:3>4运算结果为0.

注:初学者一定要分清= 和==的区别:前者表示赋值,后者是两项是否相等的判断。

情况二:当两个矩阵进行关系运算时:

要求:两矩阵同型

计算:对两矩阵相同位置的元素分别进行关系运算,从而获得一个与原矩阵同型且元素仅为0或1的矩阵。

情况三:当标量和矩阵进行关系运算时:

将标量与矩阵中的所有元素分别进行运算,从而获得一个与原矩阵同型且元素仅为0或1的矩阵。

例题:建立三阶方阵A,判断A中的元素是否为偶数

A=[24 35 13;22 63 23;39 47 80];
%建立三阶方阵A
P=rem(A,2)==0
%rem为求余函数,计算A中所有元素除以2后的余数
%判断余数是否为0,是则为偶数,返回值为1;反之,返回值为0

四、逻辑运算

常用的逻辑运算符:与(&)或(|)非(~)

使用格式:a&b,a|b,~a

与(&):a,b中只要有一个为0,则结果为0

或(|):a,b中只要有一个为1,则结果为1

非(~):a为0,则结果为1,a不为0,则结果为0

注:在使用多条判断语句时,请不要吝惜括号以免出现类似于~9==2这样的情况(需要判断优先级从而确定先计算~9还是先计算9==2)。

与关系运算相似,逻辑运算在矩阵和矩阵间运算、标量与矩阵间运算时要求和结果都相似。都产生一个与原矩阵同型且只含有0或1作为元素的矩阵。

例题:求所有水仙花数—各位数字的立方之和等于本身的三位数。

m=100:999;
%生成所有三位数
m1=rem(m,10);
m2=rem(fix(m/10),10);
m3=fix(m/100);
%m1,m2,m3分别为三位数的各个位
k=find(m==(m1.^3+m2.^3+m3.^3))
%找到水仙花数对应于m向量中的序号并标记为1
s=m(k)
%s向量即为所有的水仙花数
%最终s=[153 370 371 407]

以上就是近两天分享的所有内容了,再次感谢各位耐心看到这里!

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值