Info

この質問は閉じられています。 編集または回答するには再度開いてください。

1 ビュー (過去 30 日間)
Ming Ki Lee 2017 年 1 月 27 日

L=45;
tmax=60;
U=0.8;
D=1.6;
Xs=8;
Cs=10;
Xflux=36;
dt=6.328125;
dx=4.5;
mx=L/dx;
B = zeros(mx,1);
C = zeros(mx,mx);
C1 = zeros(mx,mx);
C2 = zeros(mx,mx);
t = 0 : dx : L;
n = 0:length(t)-1;
nvalue = interp1( t, n, Xs, 'nearest');
nvalue1=nvalue;
B(nvalue1,1)=Xs;
C1(1,1)=1;
for k=2:mx-1
nvalue1=k+2;
C1(k,nvalue1-3) = -D*dt/(dx)^(2)-U*dt/(2*dx);
C1(k,nvalue1-2) = 2*D*dt/(dx^2)+1;
C1(k,nvalue1-1) = -D*dt/(dx)^(2)+U*dt/(2*dx);
end
C1(mx,mx-1) = (-U*dt)/dx;
C1(mx,mx) = (U*dt)/dx+1;
Z=inv(C1);
C=Z*B;
end
So I got the answer of C by inverse(C1)*B
but I want to loop the inverse matrix(C1) to multiply the new b every time. for example, I want to loop this for 50 times. How to write this???
##### 1 件のコメント表示非表示 なし
KSSV 2017 年 1 月 27 日
Loop with respective to what? I guess it is Xs..

### 回答 (1 件)

adi kul 2017 年 1 月 27 日
add a for loop. something similar to:
for i=1:50
C(i)=Z(i)*B(i)
.
.
.
end

### Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by