Substitute for eval function
2 vues (au cours des 30 derniers jours)
Afficher commentaires plus anciens
Ninad Pimpalkhare
le 9 Juil 2020
Commenté : Ninad Pimpalkhare
le 9 Juil 2020
% 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 commentaires
Stephen23
le 9 Juil 2020
"Can anyone please suggest a fast alternative code to this problem."
load into output variables and access their fields:
Réponse acceptée
KSSV
le 9 Juil 2020
Modifié(e) : KSSV
le 9 Juil 2020
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.
Plus de réponses (0)
Voir également
Catégories
En savoir plus sur Variables dans Help Center et File Exchange
Produits
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!