mdsk.net
当前位置:首页 >> mAtlAB除以 >>

mAtlAB除以

用斜杠可以表示除法符号 /如a除以b等于c的语句:c=a/b

多项式带余除法:[q,r]=deconv(x,y) 多项式y被x除,q是商式,r是余式.例如:>> [q,r]=deconv(b,a) %带余除法 q = 1 2 1 r = 0 0 0 1 -2>> q=poly2str(q,'x') %商式 q = x^2 + 2 x + 1>> r=poly2str(r,'x') %余式 r = x - 2

加点(.)是对每个元素运算 你如果直接/,matlab知道这个标量要除以那个矩阵元素哪?当然要./,指标量对每个矩阵元素都做一次除法,也就是你要的结果了.类似还有.*和*

点除是数组中对应元素相除,如A中第(m,n)个元素除B中第(m,n)个元素;除则是矩阵的除法A/B=A*B^(-1),即乘B的逆矩阵

带点的表示常规的加减乘除,所以./表示我们想的除法;不带点的表示矩阵的运算.

int8(7/2)

你所算的正确,因为a为3x3矩阵,b为3x1矩阵,则c=b\a为1x3矩阵;要说明一点,matlab有矩阵左除\,和右除 / 左除\:c=b\a等价于b*c=a 右除 /:c=b/a等价于c*a=b 对于本题如果你的意思是a为系数矩阵,求a*c=b的解c应该为c=a\b 希望对你有所帮助!

点除和除其实和点乘和乘的区别是一样的>>B=1./A(:)这一句很容易最后得到的B和A是同维数的就是1分别除以A中对应的元素成为B中对应的元素而>>B=1/A(:)A(:)元素以列排列A(:)=1 2 4>>1/A(:)ans=0 0 0.2500所以:B(:)=0 0 0.2500而你发现没:如果这样:>>B(:)=1/A是错的这里的A要是一列的你看这个AB=11是一行一列的A一定要是一行的,不然求不出B

c=a\y,得到的结果就与inv(a)*y结果一致 了.因为y\a表示a乘以y的左逆,也就是表示a除以y了.而你要求的是y除以a结果,应该写为a\y.你前后两次把除数与被除数反过来了,当然结果不一样了.也就是说,'\'表示左除左边为除数,右边为被除数.c=pinv(y)*a的结果和c=y\a一致.c1=inv(a)*y的结果和c1=a\y一致.ps: '/'刚好相反,表示右除右边为除数,左边为被除数.而你这里不能用右除,因为这里直接右除的话表示y乘以a的逆,矩阵维数不相符,不能进行乘法运算.

a=[1,3,5;2,7,9];b=a./repmat(max(a),[size(a,1),1]);b = 0.5000 0.4286 0.5556 1.0000 1.0000 1.0000

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