【MATLAB】002 -- 左除与右除的区别

MATLAB 左除与右除的区别

先定义两个矩阵a和矩阵b。如下:

/:右除。a/b表示矩阵a乘以矩阵b的逆。


\:左除。a\b表示矩阵a的逆乘以b。


./:右除。a./b表示矩阵a中的每个元素除以矩阵b的对应的元素。

.\:左除。a.\b表示矩阵b中的每个元素除以矩阵a的对应的元素。

简单的记忆方法:棍子|,向左倒是左除\,向右倒是右除/。

附录1:除与除以有什么区别:

除法,是用一数去分另一数的方法.“除”相当这句话中的“分”;
而“除以”则是除式中除号(÷、/、—、:等)的读法.
如“36÷6”读作“三十六除以六”,其意思也可说成“6除36”,它即是“用6去分36”.

附录2:

    在传统的MATLAB算法中,右除是先计算矩阵的逆再相乘,而左除则不需要计算逆矩阵直接进行除运算。

   通常右除要快一点,但左除可避免被除矩阵的奇异性所带来的麻烦。在MATLAB6中两者的区别不太大。

时间: 2024-10-22 13:03:02

【MATLAB】002 -- 左除与右除的区别的相关文章

左除和右除

左除和右除 Matlab中,有两种除法,左除 \ 和右除 /.这两种的结果是不一样的 代数运算 >> [1/2, 1\2] ans = 0.5000 2.0000 右除:左边是分子/右边是分母:左除则相反: 求解线性方程组: AX=b; 则 X=A^(-1)*b 视 A^(-1)=1/A,则 X=b/A,即 X=A\b 也可以用:X=inv(A)*b 区分 根据Moler(Matlab的主要发明者)的建议:尽量使用左除,而不是inv函数; 根据相关资料,MATLAB会根据矩阵A的形式判断,如果

关于matlab中矩阵左除和右除

%if expression is A * C = B,we want to get C A = [1,3,3;3,1,1;] % 2*3 B = [1,3,3;] %3*1 C = B/A %means inv(A)* B , change to (3*2) *(2*1) = 3*1 A1 =[0,1;-1,-1;1,1] B1 =[1;1;1] C1 = B1\A1 %as normal From the case.We know a and c if a * c = b in  corre

matlab中filter,conv之间的区别

conv是做卷积,就是按照书上的做法,先翻转,在一步步平移,得出结果.对于两个长度分别为n,m的序列,卷积结果长度为m+n-1 filter是做滤波,其实原理跟卷积是想通的,只不过处理结果的方法不同,先看示例程序: x=[1,2,3,4,5]; h=[1,1,1]; y1=conv(h,x) y2=filter(h,1,x) y3=filter(x,1,h) y4=filter(x,1,[h,zeros(1,4)]) 结果为: y1 = 1     3     6     9    12    

什么是右值引用,跟左值又有什么区别?

目的 1.消除两个对象交互式时,不必要的拷贝,节省资源,提高效率: 2.简洁定义泛型函数: 左值和右值的概念: 左值:能取地址,或者具名对象,表达式结束后依然存在的持久对象: 右值:不能取地址,匿名对象,表达式结束后就不再存在的临时对象: 区别: 左值能寻址,右值不能: 左值能赋值,右值不能: 左值可变,右值不能(仅对基础类型适用,用户自定义类型右值引用可以通过成员函数改变): 原文地址:https://www.cnblogs.com/pacino12134/p/11259012.html

matlab中double、im2double、mat2gray区别

转载:http://blog.sina.com.cn/s/blog_6c41e2f30101559d.html ****************假设某图像数据A(uint8格式)********************** A = 235  200  89  20 >> double(A)                 %返回与原矩阵数值相同但类型为double的矩阵: ans = 235   200 89   20 >> im2double(A)              %返

Matlab函数——std,std2与mean,mean区别

最近看代码,经常看到std,std2的用法,由于刚刚学习,网上搜索了下,没有找到解答,看了help,s = std(X,flag)s = std(X,flag,dim)  ,只告诉我们 flag,dim分别代表什么意思.索性今天来学习下,和大家分享下. 好了,我们先看看mean的用法: 比如 : A=[1,2;3,4]; CC=mean(A,1) %每列求均值 result:  2     3 A=[1,2;3,4]; CC=mean(A,2) % 每行就均值 result:     1.500

matlab中输入x. 与x的区别

参考:http://www.madio.net/thread-27742-1-1.html 点乘的话,是对应元素相乘. 没点的话,按照矩阵相乘法则进行,这就要求前一个矩阵的列数等于第二个矩阵的行数. 向量也是一样,两个向量之间没有乘法(只有内积和外积,有专门的函数),因此诸如a*b是不合法的:但只要他们的维数一样,就可以进行对应元素之间的运算,因此a.*b.a./b或a.^2等等都是是可以的. 另外,单独元素与矩阵(向量)之间的运算可以加点,也可以不加.如2*A和2.*A是等价的. 下面是画函数

有关matlab中的/和\

1. 对于标量的运算来说 a/b 相当于a除以b,或者是a乘以(b的倒数) b\a 相当于b除a,或者是(b的倒数)乘以a 2.对于矩阵运算来说,一个矩阵的逆矩阵,相当于普通运算的倒数 a/b 相当于a乘以(b的逆) b\a 相当于(b的逆)乘以a 对矩阵运算来说,乘法的交换率未必满足,如果以inv(b)表示b的逆,那么 a/b=ainv(b) 和 b\a=inv(b)a 就未必相等 所以就有了左除和右除的区别. 原文地址:https://www.cnblogs.com/Lovedragon/p

MATLAB入门学习(二)

关于矩阵 ~o( =∩ω∩= )m matlab矩阵运算很强大 ,几乎所有涉及矩阵运算的命令都有. 事实上,matlab里面所有变量都是以矩阵的形式保存下来的. 一个数字是1x1矩阵 我们来看看矩阵的输入方式吧! 这是直接输入的方式 行之间要用:或者回车隔开 每行数据的个数要相等 ①冒号生成法变量=初值:增量:终值 相当于for(i=1;1<=12;i+=2) ②还有一种 ,不知道增量,只知道初值,终值和项数 的方法 这是生成一个初值为1,终值为5,10项的一维向量. 下面看看矩阵元素的访问 先