Performing operations using variables created by For Loop outputs

조회 수: 2 (최근 30일)
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

채택된 답변

Azzi Abdelmalek
Azzi Abdelmalek 2013년 3월 9일
편집: Azzi Abdelmalek 2013년 3월 9일
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
Craig
Craig 2013년 3월 9일
편집: Craig 2013년 3월 9일
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 2013년 3월 9일
편집: Matt J 2013년 3월 9일
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

댓글을 달려면 로그인하십시오.

추가 답변 (0개)

카테고리

Help CenterFile Exchange에서 Loops and Conditional Statements에 대해 자세히 알아보기

태그

Community Treasure Hunt

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

Start Hunting!

Translated by