Use a for loop to generate function arguments

I want to use a function myfunction in a loop that can take an increasing number of arguments. I also want to save the result into a variable that each time has a different name. The result is also a vector. For example
for i=1:50
data_i=myfunction(d,d,d,...) %The number of arguments will nicrease
end
In other words I want to create this:
i=1 data_1=myfunction(d)
i=2 data_2=myfunction(d, d)
i=3 data_3=myfunction(d, d, d)
i=4 data_4=myfunction(d, d, d, d)
i=5 data_5=myfunction(d, d, d, d, d)
I found some similar questions but none of the answers were suitable.
Thanks for your help.

 採用された回答

Voss
Voss 2022 年 12 月 8 日

1 投票

n = 50;
data = cell(1,n); % cell array to contain the output from my_function for all iterations
input_args = {}; % cell array to contain input arguments for my_function
for ii = 1:n
input_args{ii} = d; % add a new input argument
data{ii} = my_function(input_args{:}); % call my_function with all the input arguments defined so far,
end % and put the result in cell ii of data.

2 件のコメント

Georgios Pyrgiotakis
Georgios Pyrgiotakis 2022 年 12 月 9 日
Thank you that's what I needed.
Voss
Voss 2022 年 12 月 9 日
You're welcome!

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

その他の回答 (1 件)

VBBV
VBBV 2022 年 12 月 8 日

0 投票

data_i(i)=myfunction(d,d,d,...)

3 件のコメント

VBBV
VBBV 2022 年 12 月 8 日
Use for loop index
Georgios Pyrgiotakis
Georgios Pyrgiotakis 2022 年 12 月 8 日
the funciton output is a vector and I want to keep it separate.
data_1=[ ...]
data_2=[ ...]
data_3=[ ...]
VBBV
VBBV 2022 年 12 月 8 日
data_i{i}=myfunction(d,d,d,...)
In that case use a cell array

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

カテゴリ

ヘルプ センター および File ExchangeLoops and Conditional Statements についてさらに検索

タグ

質問済み:

2022 年 12 月 8 日

コメント済み:

2022 年 12 月 9 日

Community Treasure Hunt

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

Start Hunting!

Translated by