Substitute for eval function
조회 수: 2 (최근 30일)
이전 댓글 표시
% load('DATA_FC');
% load('VARS');
%
% t=1;
% k=1;
% for j=1:1:13428
% for i=1:1:1001
% temp=[raw{k,1} '(i,t)=DATA_FC(i,j)'];
% % eval(temp);
% end
% if rem(t,36)==0
% k=k+1;
% t=1;
% else
% t=t+1;
% end
% end
I have data in DATA_FC --> which is of dimension 1001*13428
I have variables in VARS (373 variables, A1,A2....A373).
I want that these 373 variables each should contain the data 1001*36 dimension (data to be picked from DATA_FC)
Eval functions is very slow.
Can anyone please suggest a fast alternative code to this problem.
댓글 수: 2
Stephen23
2020년 7월 9일
"Can anyone please suggest a fast alternative code to this problem."
load into output variables and access their fields:
채택된 답변
KSSV
2020년 7월 9일
편집: KSSV
2020년 7월 9일
It is not adivsed to use eval. You can reshape your data into what you want. Check below:
DATA_FC = rand(1001,13428) ; % random data for demo
[r,c] = size(DATA_FC); % get dimensions
nvars = 373; % number of variables needed
A = reshape(DATA_FC,[r,c/nvars,nvars]); % reshape
Now you can access your required variables...A1 will be A(:,:,1), A10 will be A(:,:,10)..etc.
추가 답변 (0개)
참고 항목
제품
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!