我在下面编写了一个Matlab代码,用于解决方程组:
A(n)U(n)=U(n-1)*(1-Walpha(2))+ Walpha(2)*U(0)+SUM((Walpha(j)-Walpha(j+1))*U(n-j));
下面的代码正在运行,但是,我怀疑它只是在最后一个j步骤返回WU(n),但是假设在每个j步骤计算并保存这些值,然后为每个n添加这些值步骤并将结果保存在WU。
U=cell(N,1);
RHS=cell(N,1);
WU=cell(N,1);
RHS{1}=Um0;
U{1}=U1;
WU{1}=zeros(M-1,1);
for n=2:N-1;
for j=1:n-1;
WU{n}=(Walpha(j)-Walpha(j+1))*U{n-j};
end
RHS{n}=(1-Walpha(2)).*U{n-1}+Walpha(n).*U0+ WU{n}-UU{n};
U{n}=inv(A{n})*RHS{n};
end
有人可以解释我应该如何重新编写我的代码,以便正确评估系统中的求和部分。