
matlab中 * 与 .*有什么区别呢?
matlab中*与.*有什么区别呢?sin(angle).*l是什么意思?为什么不直接用*而是用.*...
matlab中 * 与 .*有什么区别呢?
sin(angle).*l
是什么意思?为什么不直接用 * 而是用 .* 展开
sin(angle).*l
是什么意思?为什么不直接用 * 而是用 .* 展开
3个回答
展开全部
*是矩阵相乘,是矩阵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×10的矩阵,y是数组即是:1×10的矩阵,x*y显然不行,因为矩阵相乘,应为:m×n矩阵 乘以 n×r矩阵才行,n要一样
.*是数组相乘,表示数组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×10的矩阵,y是数组即是:1×10的矩阵,x*y显然不行,因为矩阵相乘,应为:m×n矩阵 乘以 n×r矩阵才行,n要一样
展开全部
来个例子吧
A=[1,2;3,4];
你先看一下
A^2与A*A
这两个的结果是矩阵相乘的结果。(矩阵相乘是有条件的:第一个矩阵的列数等于第二个矩阵的行数)
而A.^2是矩阵对应元素相乘的结果
好好理解上面的。再看下面的
A=[1,2;3,4;5,6];
再试一下:A^2与A.^2 (其中有一个是错的)
然后仔细品味一下两者的区别。
A=[1,2;3,4];
你先看一下
A^2与A*A
这两个的结果是矩阵相乘的结果。(矩阵相乘是有条件的:第一个矩阵的列数等于第二个矩阵的行数)
而A.^2是矩阵对应元素相乘的结果
好好理解上面的。再看下面的
A=[1,2;3,4;5,6];
再试一下:A^2与A.^2 (其中有一个是错的)
然后仔细品味一下两者的区别。
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
如果学过线性代数就很容易理解,“.*”是分别与矩阵中的元素相乘。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询