MATLAB学习笔记5

Matlab学习笔记 Day5

注:仅供学习使用,部分内容来自学校课程课件或网络,理性探讨。

1.矩阵的算数运算
利用help ops命令可以看到Matlab中的运算符及特殊符号的用法
(1)加减运算
C=A+B plus(A,B)
C=A-B minus(A,B)
C=+A uplus(A)
C=-A uminus(A)
如果A、B中有一个是标量,则用该标量和矩阵的每个元素分别进行运算,否则size(A)==size(B)时才可以进行加减运算。

(2)乘法运算
C=A*B mtimes(A,B)
如果A、B中有一个是标量,则用该标量和矩阵的每个元素分别进行运算,否则只有当A的列数等于B的行数才能进行以上运算。

(3)乘方运算
A^k mpower(A,k)
A必须是方阵,K是整数时表示k个A按矩阵乘法相乘

(4)除法运算
左除:A\B mldivide(A,B)
当A为可逆矩阵时,A\B=inv(A)B
x=A\b为线性方程组 A×x=b的解
设size(A)==[m,n],当m>n(或m<n)时, x=A\b为线性方程组A
x=b的最小二乘(最小二范数)解。
右除:A/B
A/B=A*inv(B) mrdivide(A,B)
当B为标量时,表示用A的每个元素除以B

例子:求解线性方程组
在这里插入图片描述

>> A = [2,2,-1,1;4,3,-1,2;8,3,-3,4;3,3,-2,-2];
>> B = [4,6,12,6]';
>> x = A\B  %等价于 x = inv(A)*b 

x =

    0.6429
    0.5000
   -1.5000
    0.2143

注意:B是一个列向量。实数矩阵可以用在 [ ] 外加 ’ 的方式变成列向量,[4,6,12,6]'在实数矩阵的情况下等价于[4;6;12;6](见(5))

(5)矩阵的转置
A’表示矩阵A的共轭转置,也可以写成ctranspose(A)
A.'表示矩阵A(非共轭)转置,A.'也可以写成transpose(A)
当A是实矩阵时,A’和A.'相同。

2.数组运算(点运算)
在运算符* \ / ^ 前面加.号表示数组运算(或称为点运算)
A.*B也可以写作times(A,B)

C=A.\B也可以写作C=ldivide(A,B)
执行后C(i,j)=B(i,j)/A(i,j)

C=A./B也可以写作C=rdivide(A,B)
执行后C(i,j)=A(i,j)/B(i,j)

A.^B 也可以写作power(A,B)

A和B中有一个为标量时,则用该标量分别和矩阵的每个元素进行运算。除上述情况外,只有当size(A)==size(B)时A和B才可以进行数组运算(或称为点运算),A和B的对应元素进行运算。

3.关系和逻辑运算
关系和逻辑运算的结果是一个由0或1组成的逻辑数组,1表示真,0表示假。逻辑型是数值型的子类。

①关系运算(==、~=、<、<=、>、>=)
两个标量:直接比较大小
两个同型矩阵:逐个按标量关系比较大小,得到一个由0和1组成的矩阵
一个标量,一个矩阵:标量与每一个元素比较大小,得到由0和1组成的矩阵
对于复数,<、<=、>、>=仅比较实部;剩下需要对实部和虚部都进行比较。

②逻辑运算(~、&、|、xor、&&、||)
其中,~、&、|与C语言运算相同

xor(a,b):是a和b中恰好一个为0一个不为0,运算结果为1,否则为0

a&&b:先决与,当a为0则结果为0,不计算右边表达式的值(类似于C某些编译器中的断路)

a||b:先决或,当a为1则结果为1,不计算右边表达式的值
当a和b为标量时,&&、|| 才有意义。

4.一些基本的数学运算函数
(1)函数库elfun
(2)函数库specfun(特殊函数、误差函数)
重点:
dot(a,b)计算a和b的点积
cross(a,b)计算三维向量a和b的叉积
dot(cross(a,b),c)计算三维向量的混合积
(3)函数库datafun(数值微分、梯度、傅里叶变换、滤波与卷积
max函数、min函数、mean函数(平均值)、median函数(中值)、sum函数、std函数(标准偏差)
(4)函数库matfun(矩阵分析、线性方程求解、矩阵分解)
inv(A)逆矩阵、det(A)行列式、rank(A)矩阵的秩

DAY5体会:矩阵和向量的东西虽然很多很杂,但大部分和函数有关,再次印证MATLAB的库功能十分强大,很多相关问题都可以求解。到了相关函数部分,很多不需要一个一个敲代码再尝试,而是直接看懂库里面大概内容,遇到问题再用help调用也来得及。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
学习MATLAB时,编写学习笔记是一种很好的方法,可以帮助您记录重要的概念、语法和技巧,以及解决问题的步骤。以下是一些关于编写MATLAB学习笔记的建议: 1. 组织结构:使用清晰的标题和分节来组织您的学习笔记。将不同的主题分成单独的部分,并使用子标题来进一步细分内容。 2. 内容概要:在每个部分或子标题下,写下该主题的概要。这样可以帮助您回顾和理解该主题的关键点。 3. 示例代码和输出:对于每个主题,包括一些示例代码和相应的输出结果。这有助于您理解和演示具体的MATLAB语法和功能。 4. 问题与解答:如果您在学习过程中遇到了一些困惑或问题,将其记录下来,并在笔记中提出并解答这些问题。这样可以帮助您深入思考并加深对该主题的理解。 5. 笔记补充:除了基本概念和语法外,您还可以添加一些额外的笔记,如最佳实践、编程技巧、常见错误等。这些额外的笔记可以提供更多的实用信息和提示。 6. 参考资料:在您的学习笔记中,包括引用的参考资料,如教程、文档、书籍或网站链接。这样,您可以随时回顾并深入研究相关的主题。 7. 总结和复习:在学习笔记的结尾,添加一个总结部分,回顾和总结您学到的重点和关键概念。此外,定期复习您的学习笔记也是加深理解和记忆的好方法。 以上是关于编写MATLAB学习笔记的一些建议。希望这对您有所帮助,并祝您在MATLAB学习过程中取得成功!如果有任何其他问题,请随时提问。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值