rsdb.net
当前位置:首页 >> mAtlAB中 * 与 .*有什么区别呢? >>

mAtlAB中 * 与 .*有什么区别呢?

a.*b 是a b对应位置的元素直接相乘 a*b就是直接两个矩阵相乘

来个例子吧 A=[1,2;3,4]; 你先看一下 A^2与A*A 这两个的结果是矩阵相乘的结果。(矩阵相乘是有条件的:第一个矩阵的列数等于第二个矩阵的行数) 而A.^2是矩阵对应元素相乘的结果 好好理解上面的。再看下面的 A=[1,2;3,4;5,6]; 再试一下:A^2与A....

“.*”和“*”的区别: 在进行数之间的运算时“.*”和“*”是没有区别的,都是表示普通的乘法运算。例:m = 2,n = 3,m.*n = 6, m*n = 6。 在进行矩阵之间的运算时“.*”和“*”的意义就有所不同了。假设a,b表示两个矩阵,a*b表示矩阵a与矩阵b进行矩阵相...

首先第一点,你必须铭记在心,就是matlab是在用矩阵的形式储存变量,运算变量,这就是matlab的特点,也是它强大之处 正因为matlab在设计的时候就是为矩阵计算设计的,因而在matlab中 * (乘)就是用矩阵的乘法去求答案,所以要求乘号两边的变量...

前面是点乘,要求两个变量的元素个数相等,排列方式相同,如都是行矢量或都是列矢量或都矩阵。后者是矩阵乘法,要求内维相同,如a是?*2个元素,b则是2*?个元素,如不是这样,就出错。如:a=1:5;b=6:10;c=a.*b,d=a*b' 结果是: c = 6 14 24 36 ...

*是矩阵相乘,是矩阵A行元素与B的列元素相乘的和,.*是数组相乘,表示数组A和数组B中的对应元素相乘。 比如: x=1:1:10,y=2:2:20,c=x.*y则:c = 2 8 18 32 50 72 98 128 162 200如果是:c=x*y,就会报错,因为:*是矩阵相乘,x是数组即是:1×1...

举个例子吧 >> a=[1 2;3 4] a = 1 2 3 4 >> b=[4 3;2 1] b = 4 3 2 1 >> c1=a*b c1 = 8 5 20 13 >> c2=a.*b c2 = 4 6 6 4 c1的结果是普通的矩阵相乘,c2的结果是数组相乘

这不是点乘的问题,这个你括号不匹配,表达式中左括号和右括号应该数量一样。第一项加一个左括号就行了,改为: z = -20*exp((-0.2*sqrt(x.^2+y.^2)/2))-exp((cos(2*pi*x)+cos(2*pi*y))/2)+20+2.71828; 或者: z = -20*exp(-0.2*(sqrt(x.^2+y.^2...

买本书看看吧,带点的称为“点乘”、“位乘“,即为两个行列数相同的矩阵,对应位置一一相乘,得到的结果依位置对应到结果矩阵中(条件size(A)=size(B)) A=[1 2 3 4;5 6 7 8] A = 1 2 3 4 5 6 7 8 >> B=[2 4 6 8;10 12 14 16] B = 2 4 6 8 10 1...

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