Azzera filtri
Azzera filtri

Function capability in Matlab

1 visualizzazione (ultimi 30 giorni)
Susan
Susan il 15 Ago 2011
Dear all,
I have 30 source data in my matlab folder, data1.dat,data2.dat..data30.dat.. I have the exact code for each one of these source code. I thought to create one function for all then when running it from the command to specify which data source i want to run !! I did
function work ('filename')
mywork = importdata (filename)% before it was data1.dat..
but its not correct, how can I achieve this?

Risposta accettata

Nirmal Gunaseelan
Nirmal Gunaseelan il 15 Ago 2011
The argument list to the function should be the variable names themselves and not a string (within quotes) of the variable name. So in your case, the code should be:
function work (filename)
mywork = importdata (filename)
And, while calling the function, the argument should be a string. That is,
work('data1.dat')
  1 Commento
Susan
Susan il 15 Ago 2011
thanks, It worked after putting the string while calling it :)

Accedi per commentare.

Più risposte (2)

Jan
Jan il 15 Ago 2011
function work(filename) % No quotes!
mywork = importdata (filename)
  3 Commenti
Jan
Jan il 15 Ago 2011
@Paulo: Does "but its not correct, how can I achieve this?" mean, that Susan wants to achieve an incorrect code?
Paulo Silva
Paulo Silva il 15 Ago 2011
maybe I don't know lol

Accedi per commentare.


Paulo Silva
Paulo Silva il 15 Ago 2011
%just in case you discard that function and just want to import all files
for n=1:30
MyWork{n} = importdata(['data' num2str(n) '.dat']); %you might not need the '.dat'
end
  3 Commenti
Paulo Silva
Paulo Silva il 15 Ago 2011
why not? it works just fine in this case, I'm confused :/
Paulo Silva
Paulo Silva il 15 Ago 2011
ohhh now I see, I forgot the conversion from double to string, silly me
['data' num2str(n) '.dat']

Accedi per commentare.

Categorie

Scopri di più su Data Type Conversion in Help Center e File Exchange

Tag

Community Treasure Hunt

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

Start Hunting!

Translated by