Substitute for eval function
    4 visualizzazioni (ultimi 30 giorni)
  
       Mostra commenti meno recenti
    
    Ninad Pimpalkhare
 il 9 Lug 2020
  
    
    
    
    
    Commentato: Ninad Pimpalkhare
 il 9 Lug 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 Commenti
  Stephen23
      
      
 il 9 Lug 2020
				"Can anyone please suggest a fast alternative code to this problem."
load into output variables and access their fields:
Risposta accettata
  KSSV
      
      
 il 9 Lug 2020
        
      Modificato: KSSV
      
      
 il 9 Lug 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. 
Più risposte (0)
Vedere anche
Categorie
				Scopri di più su Variables in Help Center e File Exchange
			
	Prodotti
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!



