Effacer les filtres
Effacer les filtres

how to load files which are listed in a cell array

6 vues (au cours des 30 derniers jours)
nado
nado le 3 Mar 2023
Commenté : Rik le 4 Mar 2023
hello everyone,
I am doing aerodynamic computations. The blade i'm workin on is composed of several airfoils.
The airfoils data are contained into excel files. I have a total of 50 files.
However, i am trying to load each file for each section of the blade using for loop but i did not succeed.
I used the method given here:
Hence, i have the names of the files but i did not succeed to load each of the files.
Here the error i get:
>> names = dir('C:\........\BEMT_\airfoil_properties_*.xlsx');
>> filenames={names.name};
>> filenames(3)
ans =
'airfoil_properties_02.xlsx'
>> M=xlsread(filenames(3));
Error using xlsread (line 121)
File name must be a string.
Could you help me please ?
Best Regards

Réponse acceptée

Rik
Rik le 3 Mar 2023
Modifié(e) : Rik le 3 Mar 2023
The filenames variable is a cell array, so you need {} to index the contents:
M=xlsread(filenames{3});
But it is better to use the struct returned by dir directly, as it allows you to include the path:
M=xlsread(fullfile(names(3).folder,names(3).name));
  6 commentaires
nado
nado le 4 Mar 2023
Modifié(e) : nado le 4 Mar 2023
the problem is that the MATLAB i'm usin is R2015a, so the field folder does not exist for the struct names.
>>> ver
----------------------------------------------------------------------------------------------------
MATLAB Version: 8.5.0.197613 (R2015a)
MATLAB License Number: $$$$$$$$$$$$$$$$$$$$$$$$$$$
Operating System: Microsoft Windows 10 Pro Version 10.0 (Build 17763)
Java Version: Java 1.7.0_60-b19 with Oracle Corporation Java HotSpot(TM) 64-Bit Server VM mixed mode
----------------------------------------------------------------------------------------------------
Thank you for your clarification and for suggesting to watch Onramp tutorial
Best Regards,
Rik
Rik le 4 Mar 2023
Just make sure to mention it next time (you can even put it in the release field when you ask a new question).
You need to use the same path you put in the dir call. I don't know a way to parse any wildcards for the folders.
M=xlsread(fullfile('C:\...\BEMT',names(3).name));

Connectez-vous pour commenter.

Plus de réponses (0)

Catégories

En savoir plus sur File Operations dans Help Center et File Exchange

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by