create a matrix with a for loop
6 ビュー (過去 30 日間)
古いコメントを表示
Hello all, i am trying to calculate a bunch of matrices using a for loop. I have written the following code
T = 60;
for t = 60:60:12940
phi(:,t) = [(n1(1,t+T)-n2(1,t+T)) / (n1(1,t)-n2(1,t)), (n3(1,t+T)-n4(1,t+T)) / (n3(2,t)-n4(2,t)); (n1(2,t+T)-n2(2,t+T)) / (n1(1,t)-n2(1,t)), (n3(2,t+T)-n4(2,t+T)) / (n3(2,t)-n4(2,t))];
end
i am getting an error code that says the left side of the equation is a 2-by-1 and the right side is a 2-by-2. both sides of the equation are supposed to be a 2-by-2!
How would i go about writing the left side of the eqution so it would work with the for loop and result in a 2-by-2?
Thanks for any help!
0 件のコメント
採用された回答
KSSV
2020 年 6 月 18 日
編集済み: KSSV
2020 年 6 月 18 日
T = 60;
phi = cell([],1) ;
count = 0 ;
for t = 60:60:12940
count = count+1 ;
phi{count} = [(n1(1,t+T)-n2(1,t+T)) / (n1(1,t)-n2(1,t)), (n3(1,t+T)-n4(1,t+T)) / (n3(2,t)-n4(2,t)); (n1(2,t+T)-n2(2,t+T)) / (n1(1,t)-n2(1,t)), (n3(2,t+T)-n4(2,t+T)) / (n3(2,t)-n4(2,t))];
end
If you think that always the RHS is a 2x2 matrix, ot can be saved into matrix by initlaizing it into a 3D matrix.
5 件のコメント
KSSV
2020 年 6 月 18 日
Then you see...you are accessing 12940....it is clear....
You can access elements only upto index 12000....you need to change the loop indexing.
その他の回答 (1 件)
madhan ravi
2020 年 6 月 18 日
T = 60;
phi = cell(numel(t),1);
t = 60:60:12940;
for k = 1:numel(t)
phi{k} = [(n1(1,t(k)+T)-n2(1,t(k)+T)) / ...
(n1(1,t(k))-n2(1,t(k))), (n3(1,t(k)+T)-n4(1,t(k)+T)) / ...
(n3(2,t(k))-n4(2,t(k))); (n1(2,t(k)+T)-n2(2,t(k)+T)) / ...
(n1(1,t(k))-n2(1,t(k))), (n3(2,t(k)+T)-n4(2,t(k)+T)) / (n3(2,t(k))-n4(2,t(k)))];
end
celldisp(phi)
phi = cat(3,phi{:})
3 件のコメント
madhan ravi
2020 年 6 月 18 日
編集済み: madhan ravi
2020 年 6 月 18 日
I don’t have time to get into details here but to illustrate with an example:
x = rand(2,2)% has two columns
x(1,3) % but you’re trying to access the third column, which doesn’t make sense
参考
カテゴリ
Help Center および File Exchange で Loops and Conditional Statements についてさらに検索
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!