accessing variable names of cell arrays in another function

Hi,
I have a function that has say 3 variables of different size (and this could vary for different input files):
EvVel = 301 x 12
EvAcc = 300 x 12
EvJerk = 299 x 12
I have assigned each of them to a cell array as I have to pass them to a function that generates reports:
my_array{1} = EvVel;
my_array{2} = EvAcc;
my_array{3} = EvJerk;
temp = repgen(my_array)
function repgen(my_array)
plot(my_array{1});
title('EvVel') %I am having problem accessing the variable name here as I am passing cell array
end

댓글 수: 1

"I am having problem accessing the variable name here as I am passing cell array"
Once you put the data into a cell array then any possible names of variables used for those arrays are no longer known. The best approach would be to store that meta-data as data in its own right and not put meta-data into variable names, then your code would be more generalized.

댓글을 달려면 로그인하십시오.

 채택된 답변

Matt J
Matt J 2020년 8월 26일
편집: Matt J 2020년 8월 26일
My recommendation would be to pack the data in a struct array with an additional field for the name/title:
my_struct = pack_in_struct(EvVel,EvAcc,EvJerk)
temp = repgen(my_struct);
function my_struct = pack_in_struct(varargin)
for i=numel(varargin):-1:1
my_struct(i).name=inputname(i);
my_struct(i).data=varargin{i};
end
end
function temp = repgen(my_struct)
for i=1:numel(my_struct)
figure;
plot(my_struct(i).data);
title(my_struct(i).name);
end
temp=...
end

추가 답변 (0개)

카테고리

도움말 센터File Exchange에서 Cell Arrays에 대해 자세히 알아보기

제품

태그

질문:

2020년 8월 26일

댓글:

2020년 8월 27일

Community Treasure Hunt

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

Start Hunting!

Translated by