How to store values from a loop?

300 ビュー (過去 30 日間)
John Doe
John Doe 2014 年 1 月 21 日
コメント済み: Hanna 2023 年 1 月 25 日
I have a .m function file of Y(x,y), and the fzero command below to find the zero for varying values of y:
if true
for y= 2:0.1:10
x = fzero(@(m) Y(m,y),4);
end
end
however after each loop, the previous value is overwritten, is there a way I can save them all?
Kind Regards,
John.

採用された回答

Bruno Pop-Stefanov
Bruno Pop-Stefanov 2014 年 1 月 21 日
Store them in a vector using an index like in the following:
y = 2:0.1:10;
% For all elements in vector y
for i=1:numel(y)
% Set ith element of vector x
x(i) = fzero(@(m) Y(m,y(i)),4);
end

その他の回答 (2 件)

Azzi Abdelmalek
Azzi Abdelmalek 2014 年 1 月 21 日
編集済み: Azzi Abdelmalek 2014 年 1 月 21 日
ii= 2:0.1:10
sol=cell(numel(ii),1)
for y=ii
x = fzero(@(m) Y(m,y),4);
sol{y}=x;
end
celldisp(sol)
  1 件のコメント
Alvina Khairun Nisa
Alvina Khairun Nisa 2017 年 5 月 23 日
how to save celldisp(sol) to file.mat?

サインインしてコメントする。


Mahdi
Mahdi 2014 年 1 月 21 日
There are two ways to do this, the following is the less efficient way
x=[];
if true
for y=2:0.1:10
x=[x; fzero(@(m) Y(m,y),4)];
end
end
Basically, the above code will store all the values in each loop in a matrix x. You can also preallocate and create a matrix by using x(i)=rest of it
i=1
for loop
x(i)=
i=i+1;
end
  2 件のコメント
John Doe
John Doe 2014 年 1 月 21 日
Thank you
Hanna
Hanna 2023 年 1 月 25 日
Tahnk you Mahdi!

サインインしてコメントする。

カテゴリ

Help Center および File ExchangeLoops and Conditional Statements についてさらに検索

タグ

タグが未入力です。

Community Treasure Hunt

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

Start Hunting!

Translated by