Monikey 发表于 2010-7-10 08:58

求助!一个追赶法问题~忘高人解答!

一个追赶法问题~忘高人解答!
function x=zhuiganfa1(A,d)
%首先说明:追赶法是适用于三对角矩阵的线性方程组求解的方法,并不适用于其他类型矩阵。
%定义三对角矩阵A的各组成单元。方程为Ax=d
%    b为A的对角线元素(1~n),a为-1对角线元素(1~n-1),c为+1对角线元素(1~n-1)。
%    A=[2-10    0
%       -13-2   0
%       0-24   -3
%       00   -3   5]
a=diag(A,-1); c=diag(A,1); b=diag(A); n=size(A);
%“追”的过程
y(1)=d(1)/b(1); w(1)=c(1)/b(1);
for i=2:(n-1)
    y(i)=(d(i)-a(i-1)*y(i-1))/(b(i)-a(i-1)*w(i-1))
      w(i)=c(i)/(b(i)-a(i-1)*w(i-1))
end
y(n)=(d(n)-a(n-1)*y(n-1))/(b(n)-a(n-1)*w(n-1));
%“赶”的过程
x(n)=y(n);
for i=(n-1):-1:1
    x(i)=y(i)-w(i)*x(i+1);
end


??? Error using ==> minus
Matrix dimensions must agree.
Error in ==> zhuiganfa1 at 18
y(n)=(d(n)-a(n-1)*y(n-1))/(b(n)-a(n-1)*w(n-1));
我用的矩阵的一个元素,怎么会说维数不一样呢?
谢谢大家~~问题解决了:size函数的用法没有理解好!!!谢谢大家的围观。。。。。。

[ 本帖最后由 ChaChing 于 2010-7-10 11:11 编辑 ]

ChaChing 发表于 2010-7-10 11:10

参考下length函数!
页: [1]
查看完整版本: 求助!一个追赶法问题~忘高人解答!