필터 지우기
필터 지우기

Info

이 질문은 마감되었습니다. 편집하거나 답변을 올리려면 질문을 다시 여십시오.

is it possible to do something like this in the loop:

조회 수: 1 (최근 30일)
jenka
jenka 2017년 1월 13일
마감: MATLAB Answer Bot 2021년 8월 20일
if true
% load Time;
Time_test_1 = Time;
clear Time;
%load Time again;
Time_test_2 = Time;
clear Time;
%load time again;
Time_test_3 = Time;
clear Time;
end
  댓글 수: 1
Stephen23
Stephen23 2017년 1월 13일
It is possible, but it is a really really bad idea. It is a very bad habit to learn. Naming variables in a loop makes your code slow, buggy, hard to debug, and harder to understand. Read this to know why:
Learn to use indexing rather than make lots of separate variables. Then your life suddenly gets better :)

답변 (1개)

the cyclist
the cyclist 2017년 1월 13일
편집: the cyclist 2017년 1월 13일
Yes, but it is better to use a cell array instead of that naming convention ...
if true
% load Time;
Time_test{1} = Time;
clear Time;
%load Time again;
Time_test{2} = Time;
clear Time;
%load time again;
Time_test{3} = Time;
clear Time;
end
which can easily be looped over ...
for ii = 1:3
% load Time
Time_test{ii} = Time;
clear Time
end
This forum has hundreds of posts about why that is a better way to code.
  댓글 수: 3
jenka
jenka 2017년 1월 13일
my Time variable is already a cell array?
Guillaume
Guillaume 2017년 1월 13일
So? You can have cell arrays of cell arrays.
If the cell arrays all have the same number of rows or columns, you could also concatenate them.
Note that I would avoid using load without an output. Rather than:
load('somefile'); %pops the Time variable into existence.
Time_test{idx} = Time;
Use filecontent = load('somefile'); Time_test{idx} = filecontent.Time;
There's no danger of unknowingly overwriting existing variables with the second method.

이 질문은 마감되었습니다.

태그

Community Treasure Hunt

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

Start Hunting!

Translated by