mdsk.net
当前位置:首页 >> MATLAB7.0中两个不同的矩阵相除,怎么正确编译 >>

MATLAB7.0中两个不同的矩阵相除,怎么正确编译

Matlab提供了两种除法运算:左除(\)和右除(/).一般情况下,x=a\b是方程a*x =b的解,而x=b/a是方程x*a=b的解.例:a=[1 2 3; 4 2 6; 7 4 9]b=[4; 1; 2];x=a\b则显示:x= -1.5000 2.0000 0.5000所以你得用左除

这涉及到矩阵的操作.比如a=[3 6 9],b =[1 2 3]要实现对应的元素相除,用这个命令“a./b”,即点除.点除就实现了你要的功能.扩展:matlab是基于矩阵操作的,对元素的操作都要用到“.”,比如两个矩阵对应元素相乘,即为“a.*b”,相当地方便.在本例中,a.*b=[3 12 27].总结:我是怎么知道的呢?看些入门的书,但更重要的借助matlab自己自带的强大的帮助的功能建议你 help .你会发现很多惊喜.本人非常喜欢用matab,我的生活离不开matlab.希望你努力学习,早日成为高手!

(1)如果是两个数a和b,a除以b,就直接写c=a/b;(2)如果是两个行数、列数相同的矩阵A和B,行数为m,列数为n,要分别计算对应元素相除,A中的元素除以B中的元素,得到1个mxn矩阵C,就是C=A./B;(3)如果是两个维数相同的方阵A和B,要计算A的逆左乘B,就是C=A\B,要计算B右乘A的逆,就是C=B/A.

%假设有以下的矩阵a a=[1 2 3; 4 5 6; 7 8 9];%我们需要第一行乘以1,第二行乘以2,第三行乘以3 b=[1; 2; 3];%b是一个列向量,存放没一行需要乘以的数%先根据a的列数将b复制成和a大小一样的矩阵([1 1 1;2 2 2;3 3 3])%然后再和a对应位置的元素相乘,就可以得到想要的结果c c=a.*repmat(b,[1,size(a,2)]);结果如下 a = 1 2 3 4 5 6 7 8 9 b = 1 2 3 c = 1 2 3 8 10 12 21 24 27 还有一个更简单的办法 c=diag(b)*a;

矩阵求逆 inv(A)提取对角线元素 diag(A)求上三角阵 triu(A)矩阵转置 A'矩阵求秩 rank(A)矩阵的迹 trace(A)矩阵的特征值 eig(A)

输入a=[1 2 3;4 5 6;7 8 9]以后再输入a(2,2)就行了a(i,j)表示第i行第j列的元素例2-9 建立矩阵a,然后找出大于4的元素的位置.(1) 建立矩阵a.a=[4,-65,-54,0,6;56,0,67,-45,0] (2) 找出大于4的元素的位置.find(a>4)输出结果:b = 2 6 9原来是竖着数过来

两个矩阵要整体相减,行列数必须相等,直接用A-B(A、B分别为矩阵),如果是不同行列的矩阵相减,那就是矩阵里面的某一个数相减,比如说矩阵A=[1 2 3;4 5 6;7 8 9;],B=[6 2 5 4;7 8 5 2;3 2 1 6;4 5 6 2;],矩阵A为3行3列,矩阵B为4行4列,,矩阵A的第2行第3列与矩阵B的第4行第2列相减,A(2,3)-B(4,2)就行了具体程序可参考:A=rand(3,3);B=rand(4,4);C=A(2,3)-B(4,2)拷贝下来试试你就会理解,rand为取随机数

求向量累加和向量:cumsum(x) 求向量累乘积向量:cumprod(x) 求矩阵每一列的累加和:cumsum(a)、cumsum(a,1) 求矩阵每一列的累积积:cumprod(a)、cumprod(a,1) 求矩阵每一行的累加和:cumsum(a,2) 求矩阵每一行的累积积:cumprod(a,2)

matlab两个矩阵相除,例如>>A=[4 8;7 5];B=[9 5;2 7]; %两个矩阵相除要求阶数必须一致>>A/B ans =0.2264 0.98110.7358 0.1887

比如要比较a和b这两个矩阵,它们大部分的元素都是相同的,有个别的元素不同.可以通过下面方法找出不同的位置.c=a-b; [x,y]=find(c~=0); %不等于0的位置,就是二者有差别的地方.那么x,y分别就是不同元素对应的行号和列号.希望可以帮助你,望采纳!

网站首页 | 网站地图
All rights reserved Powered by www.mdsk.net
copyright ©right 2010-2021。
内容来自网络,如有侵犯请联系客服。zhit325@qq.com