作业帮 > 综合 > 作业

MATLAB中两个矩阵相乘的问题

来源:学生作业帮 编辑:搜搜考试网作业帮 分类:综合作业 时间:2024/04/28 21:08:10
MATLAB中两个矩阵相乘的问题
我的第一个矩阵returne是一个567*544的矩阵
第二个矩阵cjl也是一个567*544的矩阵
写了一个程序:
for i=1:567;
j=1:544;
sig(i,j)=returne(i,j)*cjl(i,j);
end

为什么显示的是:
? Error using ==> mtimes
Inner matrix dimensions must agree.

而把程序改成:
for i=1:567;
j=1:544;
sig(i,j)=returne(i,j)/cjl(i,j);
end
显示Warning: Rank deficient, rank = 0, tol = 0.0000e+000.
做乘法为什么会说维度不一样?难道MATLAB不能计算这么大的吗
为什么改成除法了,就可以计算了
MATLAB中两个矩阵相乘的问题
你这个j=1:544;并没有在循环,而是直接赋给 j 一个向量了.要实现你的目的直接:sig = returne.*cjl;即可
再问: 直接相乘,显示的仍旧是一样。。。
sig = returne.*cjl;
请问一下你的returne后面为什么有一个小黑点,而不是直接*
再答: 这是MATLAB点乘运算,是矩阵中的每一个元素都进行乘。所以sig = returne .* cjl;实现把returne和cjl中的对应元素相乘,最后结果存入sig。MATLAB矩阵运算比较强大,这个不需要用循环来实现。