matlab中出现“Matrix dimensions must agree.”

function x=backdown(L,b)
% input:L下三角矩阵,b右端项
% output:x方程组的解
% Ax=b
n=length(b);
for j=1:n-1
b(j)=b(j)/L(j,j);
b(j+1:n)=b(j+1:n)-b(j)*L(j+1:n,j);
end
b(n)=b(n)/L(n,n);

然后
>> x=backdown(L,b)
Error: File: backdown.m Line: 8 Column: 23
Unexpected MATLAB operator.

这是为什么。。。。。。
>> x=backdown(L,b)
Error using -
Matrix dimensions must agree.

Error in backdown (line 8)
b(j+1:n)=b(j+1:n)-b(j).*L(j+1:n,j);

搞错了,运行后应该是这种错误。。。

第1个回答  2013-11-11
矩阵运算的型不对,最好的方法是点开workspace看看每个变量的维数是不是能够可以进行相应的运算。你那个报错里面是b(j).但是程序里面是b(j)?
第2个回答  2013-11-10
你看看b是行向量还是列向量本回答被提问者采纳
大家正在搜