一起来学matlab-matlab学习笔记10

10_1一般运算符

觉得有用的话,欢迎一起讨论相互学习~Follow Me

参考书籍

《matlab 程序设计与综合应用》张德丰等著 感谢张老师的书籍,让我领略到matlab的便捷

《MATLAB技术大全》葛超等编著 感谢葛老师的书籍,让我领略到matlab的高效

MATLAB语言以前是一种专门为进行矩阵计算所设计的语言,在以后的各个版本中逐步扩充其各种功能。现在MATLAB不仅仅局限于矩阵计算领域,但其最基本、最重要的功能还是进行实数矩阵和复数矩阵的运算。 在MATLAB中几乎所有的运算符和操作符都是以矩阵为基本运算单元的,这和其他计算机语言有很大不同,这也是MATLAB的重要特点

运算符

矩阵的逆

INV(X)

矩阵的转置

X'

矩阵的加减法

  • 其基本形式为X+-Y,X和Y必须是同维度的矩阵,此时各对应元素相加减。如果X与Y的维数不同,则MATLAB将给出错误信息,提升用户两个矩阵的维数不匹配
X=[2     3;
4 5];
Y=[3 4;
4 3];
X+Y
X-Y ans = 5 7
8 8 ans = -1 -1
0 2

矩阵的乘法

  • X*Y是两个矩阵X和Y的乘积,其中X和Y必须满足矩阵相乘的条件,即矩阵X的列数必须等于矩阵Y的行数。如果其中一个为1x1矩阵也合法,此时便是将每一个矩阵的元素都分别与这个数值相乘。
X=[2     3;
4 5];
Y=[3 4;
4 3]; ans = 18 17
32 31 ans = 4 6
8 10

矩阵的点乘

  • X.* Y运算结果为两个矩阵的相应元素相乘,得到的结果与X和Y同维,此时X和Y也必须具有相同的维数,除非其中一个为1X1矩阵此时运算则与X*Y相同
X=[2     3;
4 5];
Y=[3 4;
4 3];
X.*Y
2.*X
ans = 6 12
16 15 ans = 4 6
8 10

矩阵的乘方

(1)x^Y表示,如果x为数,而Y为方阵,结果由各特征值和特征向量计算得到

(2)X^y表示,如果X是方阵、y是一个大于1的整数,所得结果由X重复相乘y次得到;如果y不是整数,则将计算各特征值和特征向量的乘方。

(3)如果X和Y都是矩阵,或X或Y不是 方阵 ,则会显示错误信息。

X=[2     3;
4 5];
Y=[3 4;
4 3];
X^2
X^1.5
2^Y >> test_power ans = 16 21
28 37 ans = 5.9125 - 0.1007i 7.7970 + 0.0573i
10.3960 + 0.0764i 13.7095 - 0.0434i ans = 64.2500 63.7500
63.7500 64.2500

矩阵的数组乘方

  • X.Y的计算结果为X中元素对Y中对应元素求幂,形成的矩阵与原矩阵维数相等,这里X和Y必须维数相等,或其中一个为数,此时运算法则等同于XY
X=[2     3;
4 5]
Y=[3 4;
4 3]
X.^Y
X = 2 3
4 5 Y = 3 4
4 3 ans = 8 81
256 125

矩阵的左除

A \ B称作矩阵A左除矩阵B,其计算结果大致与INV(A)B相同,但其算法却是不相同的。如果A是N×N的方阵,而B是N维列向量,或是由若干N维列向量组成的矩阵,则X=A \ B是方程AX=B的解,X与B的大小相同,对于X和B的每个列向量,都有AX(n)=B(n),此解是由高斯消元法得到的很显然,A \ EYE(SIZE(A))=INV(A)EYE(SIZE(A))=INV(A)。如果A是M×N的矩阵(M不等于N),B是M维列向量或由若干M维列向量组成的矩阵,则X=A \ B是欠定或超定方程AX=B的最小二乘解。A的有效秩L由旋转的QR分解得到,并至多在每列L个零元素上求解。

A =[1     2;
3 4]
B =[2 3;
3 2]
A\B A = 1 2
3 4 B = 2 3
3 2 ans = -1.0000 -4.0000
1.5000 3.5000

矩阵的右除

B/A称为矩阵A右除矩阵B,其计算结果基本与B * INV(A)相同,但其算法是不同的,可以由左除得到,即:B/A=(A'\B')' 实际上是方程XA=B的解 表示A的A的转置左除B的转置的结果的转置

A =[1     2;
3 4]
B =[2 3;
3 2]
B/A
(A'\B')' A = 1 2
3 4 B = 2 3
3 2 ans = 0.5000 0.5000
-3.0000 2.0000 ans = 0.5000 0.5000
-3.0000 2.0000

矩阵的点除

  • 如果B和都是矩阵,且维数相同,则B./A就是B中的元素除以A中的对应元素,所得结果矩阵大小与B和A都相同;如果B和A中有一个为数,在结果为此数与相应的矩阵中的每个元素做运算,结果矩阵与参加运算的矩阵大小相同。
A =[1     2;
3 4]
B =[2 3;
3 2]
B./A
B./2 A = 1 2
3 4 B = 2 3
3 2 ans = 2.0000 1.5000
1.0000 0.5000 ans = 1.0000 1.5000
1.5000 1.0000

矩阵的kronecker张量积

  • K=KRON(A,B)返回A和B的张量积,它是一个大矩阵,取值为矩阵A和B的元素间所有的可能积。如果A是mxn矩阵,而B是p×q矩阵,则KRON(A,B)是mp×nq的矩阵。例如,A是2×2的矩阵,则有下式成立:

    KRON(A,B)=[A(1,1)* B A(1,2)* B

    A(2,1)* B A(2,2)* B]

    如果A和B中有一个为稀疏矩阵,则只有非零元素会参与计算,所得的结果也是稀疏矩阵
A =[1     2;
3 4]
B =[2 3;
3 2]
kron(A,B) A = 1 2
3 4 B = 2 3
3 2 ans = 2 3 4 6
3 2 6 4
6 9 8 12
9 6 12 8

matlab学习笔记10 一般运算符的更多相关文章

  1. matlab学习笔记10_3关系运算符和逻辑运算符

    一起来学matlab-matlab学习笔记10 10_3关系运算符和逻辑运算符 觉得有用的话,欢迎一起讨论相互学习~Follow Me 参考书籍 <matlab 程序设计与综合应用>张德丰 ...

  2. Matlab学习笔记 figure函数

    Matlab学习笔记 figure函数 matlab中的 figure 命令,能够创建一个用来显示图形输出的一个窗口对象.每一个这样的窗口都有一些属性,例如窗口的尺寸.位置,等等.下面一一介绍它们. ...

  3. matlab学习笔记(一)单元数组

    matlab学习笔记(一)单元数组 1.floor(x) :取最小的整数 floor(3.18)=3,floor(3.98)=3 ceil(x)  :取最大的整数 ceil(3.18)=4,ceil( ...

  4. C#.NET学习笔记7--11---算术运算符,变量赋值,变量的交换,布尔表达式1,布尔表达式2

    C#.NET学习笔记7---算术运算符 2013/9/6 技术qq交流群:JavaDream:251572072  教程下载,在线交流:创梦IT社区:www.credream.com 1.Consol ...

  5. matlab学习笔记10_6 字符串与数值间的转换以及进制之间的转换

    一起来学matlab-matlab学习笔记10 10_6 字符串与数值间的转换以及进制之间的转换 觉得有用的话,欢迎一起讨论相互学习~Follow Me 参考书籍 <matlab 程序设计与综合 ...

  6. matlab学习笔记10_5 通用字符串操作和比较函数

    一起来学matlab-matlab学习笔记10 10_5 通用字符串操作和比较函数 觉得有用的话,欢迎一起讨论相互学习~Follow Me 参考书籍 <matlab 程序设计与综合应用>张 ...

  7. matlab学习笔记10_2 一般操作符

    一起来学matlab-matlab学习笔记10 10_2一般操作符和数据显示格式 觉得有用的话,欢迎一起讨论相互学习~Follow Me 参考书籍 <matlab 程序设计与综合应用>张德 ...

  8. matlab学习笔记 bsxfun函数

    matlab学习笔记 bsxfun函数 最近总是遇到 bsxfun这个函数,前几次因为无关紧要只是大概看了一下函数体去对比结果,今天再一次遇见了这个函数,想想还是有必要掌握的,遂查了些资料总结如下. ...

  9. thinkphp学习笔记10—看不懂的路由规则

    原文:thinkphp学习笔记10-看不懂的路由规则 路由这部分貌似在实际工作中没有怎么设计过,只是在用默认的设置,在手册里面看到部分,艰涩难懂. 1.路由定义 要使用路由功能需要支持PATH_INF ...

随机推荐

  1. 浅谈Linux下傻瓜式磁盘分区工具cfdisk的使用

    对于新手来说,Linux环境下的磁盘分区可能还会存在一些困难.对于熟悉Linux的朋友来说,我们还有fdisk.parted(2TB以上的磁盘分区使用)等磁盘分区工具可以使用.在我们新增磁盘或者在原来 ...

  2. python爬虫中的ip代理设置

    设置ip代理是爬虫必不可少的技巧: 查看本机ip地址:打开百度,输入“ip地址”,可以看到本机的IP地址: 本文使用的是goubanjia.com里面的免费ip: 使用时注意要注意传输协议是http还 ...

  3. php中array的常用操作示码

    融会了,也就熟悉了. 这事得多练,多改. <?php $empty1 = []; $empty2 = array(); $names = ['Harry', 'Ron', 'Hermione'] ...

  4. python的tkinter,能画什么图?

    今天从下午忙到现在,睡觉. 这个能绘点图的. import json import tkinter as tk from tkinter import filedialog from tkinter ...

  5. Maven之setting.xml 配置详解

    文件存放位置 全局配置: ${M2_HOME}/conf/settings.xml 用户配置: ${user.home}/.m2/settings.xml note:用户配置优先于全局配置.${use ...

  6. 通俗理解word2vec的训练过程

    https://www.leiphone.com/news/201706/eV8j3Nu8SMqGBnQB.html https://blog.csdn.net/dn_mug/article/deta ...

  7. linux中如何升级Python

    一.使用wget 下载Python 安装包 我是在虚拟中当中安装的: wget http://www.python.org/ftp/python/3.7.0/Python-3.7.0.tgz 报错: ...

  8. Spring源码窥探之:AOP注解

    AOP也就是我们日常说的@面向切面编程,看概念比较晦涩难懂,难懂的是设计理念,以及这样设计的好处是什么.在Spring的AOP中,常用的几个注解如下:@Aspect,@Before,@After,@A ...

  9. spark的scala:wordCount解析

  10. Dubbo源码分析:ChannelHandler

    背景 一个请求经过序列化二进制数据转化成对象之后.请求进入netty框架,netty框架经过业务处理把主动权转交给NettyHandler对象.NettyHandler进入ChannelHandler ...