How can I add the values of each iteration of a for loop, where the index is k=0:0.001:.30, into a matrix so that I can plot the values?
4 ビュー (過去 30 日間)
古いコメントを表示
I have a 'for' loop that is calculating an eqn from k=0:0.001:0.30, the loop is generating the required results for each single iteration but when I try to take each iteration and put it into a matrix I get the following error,
Subscript indices must either be real positive integers or logicals.
I think this is because of my indexing k=0:0.001:0.30, MatLab doesn't like the zeros, but I need to run the loop in this fashion to get the results I need.
This is what I have for the 'for' loop,
% preallocate space x= zeros(300,1);
for k = 0:0.001:0.30
y=3.065-(8.871*(k/H))+(14.036*(k/H).^2)-(7.219*(k/H).^3);
x(:,k)=y % store y as kth column of x
end
採用された回答
Youssef Khmou
2014 年 5 月 20 日
編集済み: Youssef Khmou
2014 年 5 月 20 日
If H is scalar you can vectorize the problem :
k=0:0.001:0.30;
H=2;
y=3.065-(8.871*(k/H))+(14.036*(k/H).^2)-(7.219*(k/H).^3);
Using the loop, the index must be an integer, to respect this condition you can proceed as :
k=0:0.001:0.30;
for t=1:length(k)
y=3.065-(8.871*(k(t)/H))+(14.036*(k(t)/H).^2)-(7.219*(k(t)/H).^3);
x(:,t)=y; % store y as kth column of x
end
その他の回答 (0 件)
参考
カテゴリ
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!