필터 지우기
필터 지우기

Storing multiple function outputs in an iterative loop

조회 수: 3 (최근 30일)
Katarzyna
Katarzyna 2014년 10월 1일
편집: Mohammad Abouali 2014년 10월 1일
I have multiple variables (of different lengths) (input_1; input_2; etc ..input_i) and for each of them I would like to run my function that takes input_1 and returns output X_1, Y_1, Z_1 and saves it to the workspace (and then respectively taking input_i and returing X_i, Y_i, Z_i).
The input and output variables have different lengths for each index (i.e. input1 is different size than input2), so they can’t be stored in one matrix.
I tired running a for loop, but I don’t know how to save the output_i iteratively as separate variables (as they have different lengths) for each input_i in the function.
[X,Y,Z] = myfunction(input_variable);
%the function takes a 3d matrix and creates three 1d output vectors X, Y and Z of different lengths
%sample data (different size)
input_1=rand(100,4,3);
input_2=rand(50,3,1);
input_3=rand(10,2,5);
index_name = {'1', '2', 3};
for i=1:length(index_name)
AA = sprintf(input_%s’,index_name{i});
input_variable = eval(AA);
[X,Y,Z] = myfunction(input_variable);
%here I am not sure how to save output vectors Xi, Yi, Zi for each iteration, as the following code does not work:
outputX = sprintf(X_%s’,index_name{i});
eval([ outputX ' = X’ ]);
end
Please note that output vectors for each iteration have different lengths and can’t be saved in a matrix (i.e. outputs X_1, X_2, X_i has different lengths). I would really appreciate if somebody could tell me how to save them into workspace.

채택된 답변

Mohammad Abouali
Mohammad Abouali 2014년 10월 1일
편집: Mohammad Abouali 2014년 10월 1일
store them as cell arrays
[X{i},Y{i},Z{i}] = myfunction(input_variable);
x{1} could be NxM matrix
X{2} could be RxCxT matrix
X{3} could be even a string
So, really doesn't matter what are each element of cell arrays. They are independent of each other

추가 답변 (0개)

카테고리

Help CenterFile Exchange에서 Language Fundamentals에 대해 자세히 알아보기

Community Treasure Hunt

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

Start Hunting!

Translated by