Performing operations using variables created by For Loop outputs

1 visualización (últimos 30 días)
Using a previous For Loop, I have created 704 3x3 matrices defined as N1uik, N2uik, N3uik...N704uik. (All values contained are real numbers)
I now want to use elements of these matrices as part of another For Loop, to create various other matrices named x1,x2,x3...x704.
I have tried:
For n=13:692
x(1,1)=((N(n-11)uik(1,3))-(N(n+11)uik(1,3)))/2;
x(1,2)=((N(n-1)uik(1,3))-(N(n+1)uik(1,3)))/3;
x(1,3)=0
eval(sprintf('x%d=x',n));
end
Obviously recalling values from the previously defined variables in this "N(n+1)uik" way does not work. How can this be done?
Thanks

Respuesta aceptada

Azzi Abdelmalek
Azzi Abdelmalek el 9 de Mzo. de 2013
Editada: Azzi Abdelmalek el 9 de Mzo. de 2013
This is incorrect expression
N(n-11)uik(1,3)
Why have you created all those variables, while you could use one array 704x3x3?
  5 comentarios
Craig
Craig el 9 de Mzo. de 2013
Editada: Craig el 9 de Mzo. de 2013
Okay thank you both very much for your help,
I have gone back and gathered the 3x3 arrays into one 3x3x704. This not only works but makes things much neater also.
How can I store the outputs as x(1) instead of x1?
eval(sprintf('x(%d)=x',n));
Is incorrect.
Thanks again
Matt J
Matt J el 9 de Mzo. de 2013
Editada: Matt J el 9 de Mzo. de 2013
x=zeros(length(13:692),3);
for n=13:692
i=n-12;
x(i,1)=( Nuik(1,3,n-11) - Nuik(1,3,n+11) )/2;
x(i,2)=( Nuik(1,3,n-1) - Nuik(1,3,n+1) )/3;;
end

Iniciar sesión para comentar.

Más respuestas (0)

Categorías

Más información sobre Loops and Conditional Statements en Help Center y File Exchange.

Etiquetas

Community Treasure Hunt

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

Start Hunting!

Translated by