How to perform arithmetic operation that would affect all variables in a folder at once
조회 수: 2 (최근 30일)
이전 댓글 표시
There are 5 variables in a folder (crate1, crate2, crate3, crate4, crate5). Each of these variables have 3 sub-variables inside them. The 3 sub-variables have same names but different values, for all the variables. For example, crate1 has month, time, date. Crate2 also has month, time, date. And so on up to crate5... The task needed is to divide sub-variables (only month and time) by 0.5, for all the variables crate1 to crate5... Instead of doing it manually one after other, is there a way I could do for all at same time?
댓글 수: 7
Stephen23
2021년 12월 29일
"The task needed is to divide sub-variables (only month and time) by 0.5..."
Multiplying by two is probably clearer.
채택된 답변
Matt J
2021년 12월 28일
편집: Matt J
2021년 12월 28일
For scalar variables,
S=dir('crate*.mat');
month = arrayfun(@(s) load(s.name).month, S)/0.5;
time = arrayfun(@(s) load(s.name).time, S)/0.5;
EDIT: For non-scalar variables,
S=dir('crate*.mat');
month = cell2mat( arrayfun(@(s) load(s.name).month, S','uni',0) )/0.5;
time = cell2mat(arrayfun(@(s) load(s.name).time, S','uni',0) )/0.5;
댓글 수: 8
추가 답변 (0개)
참고 항목
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!