Comment créer des variables avec les noms qui suivent d'une boucle

Je dois importer certaines colonnes d'une feuille de calcul Excel dans Matlab et save le résultat dans un tableau.

Par exemple, dis-je, j'ai un réseau de cellules 3×1 et les éléments sont des strings comme 'USD' , 'EUR' et 'GBP' .

Si je veux importer des données à partir de 3 feuilles de calcul distinctes sur un partage de réseau et stocker datatables de chaque feuille de calcul dans des arrays appelés 'InitialUSD' , 'InitialEUR' et 'InitialGBP' respectivement.

Des conseils sur la façon dont les noms de masortingce peuvent être liés aux valeurs dans le tableau de cellules?

Vous voulez probablement quelque chose comme ceci:

 currencies = {'USD' 'EUR' 'GBP' }; for index=1:length(currencies) assignin('caller',['Initial' currencies{index}],1:index); end 

Dans l'exemple, j'atsortingbue un vector (1: index) aux variables, mais évidemment dans votre cas, vous allez assumer datatables Excel (vraisemblablement que vous lisez avec xlsread).

Est ce que vous requestz Comment puis-je créer des variables A1, A2, …, A10 en boucle? Ensuite, la réponse est de ne pas faire cela … Vous pouvez cependant faire quelque chose comme ceci:

 for k=1:3 InitialUSD{k} = xlsread (%spreadsheet nb. k%); end 

en supposant que vous utilisez xlsread pour importer vos données depuis Excel. Remplacer %spreadsheet nb. k% %spreadsheet nb. k% par les arguments corrects à la fonction xlsread .

Je pense que c'est un moyen simple de le faire:

  1. Lisez tout à partir du file excel
  2. Comparez les informations des lignes d'en-tête avec celles qui vous intéressent.
  3. Sur cette base, select datatables souhaitées.

De cette façon, vous pouvez vous refind avec une list de noms et un tableau avec des données correspondantes dans le même ordre.

Je reorderais toujours cela en donnant les noms des variables eux-mêmes.