Info
Questa domanda è chiusa. Riaprila per modificarla o per rispondere.
About looping a matrix
    8 visualizzazioni (ultimi 30 giorni)
  
       Mostra commenti meno recenti
    
      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???
Risposte (1)
  adi kul
      
 il 27 Gen 2017
        add a for loop. something similar to:
for i=1:50
    C(i)=Z(i)*B(i)
    .
    .
    .
 end
0 Commenti
Questa domanda è chiusa.
Vedere anche
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!


