Assigning a variable according to file name..
Afficher commentaires plus anciens
I want the variable to be changed according to the file name.. Like;
Simulation File 1 Track 2
Simulation File 1 Track 4
Simulation File 1 Track 6
.
.
.
I want those track values assigned in a formula and get the value as the loop continues taking the track value like 2-4-6. Thank you all
3 commentaires
Stephen23
le 12 Oct 2020
"I want the variable to be changed according to the file name.."
That would be about the worst approach to importing data.
Putting meta-data into variable names is a sign that you are doing something wrong.
Meta-data is data and belongs in variables, not forced into variable names. Badly designed data (with meta-data in the variable names) makes accessing the data slow, complex, inefficient, obfuscated, buggy, and difficult to debug:
The MATLAB documentation shows examples which use simple and efficient indexing to store imported file data:
Is there a particular reason why you cannot use simple, neat, efficient indexing and a cell array? (or a table, struct, etc)
FG
le 12 Oct 2020
FG
le 13 Oct 2020
Réponses (2)
KSSV
le 12 Oct 2020
You need not to change the variable as based on filename..you can initialize an array/ matrix and save the variables into this.
Option 1: If size is always same
n = 10 ; % number of files
iwant = zeros(3,3,n) ; %
for i = 1:n
iwant(:,:,i) = rand(3) ; % save data here
end
Otion 2: If size varies
n = 10 ;
iwant = cell(n,1) ;
for i = 1:n
m = randperm(100,1) ;
iwant{i} = rand(m) ;
end
Sudhakar Shinde
le 12 Oct 2020
Example:
Track = 2;
File = 2;
Filename = {};
for j=1:(File)
for i = 1:(Track)
Filename{end+1} = ['SimulationFile' num2str(j) , ' Track' num2str(i)];
end
end

Catégories
En savoir plus sur Matrix Indexing dans Centre d'aide et File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!