'load' function bug?

3 vues (au cours des 30 derniers jours)
Eugenio
Eugenio le 8 Mar 2012
Hi all, these days I'm writing a function that take a strings as input, let call it 'var'; that string contain the path to a .mat file conteining a variable called 'mat'(it'a a NxM matrix). After I need to load the matrix saved into the .mat file, so i use the command
...
load 'var'
...
and the variable 'mat' appears on my workspace. Instead, if i use a different name for the input variable, for example 'var_1', or 'm_1' or something, it doesn't work!
...
??? Error using ==> load
Unable to read file m_1: No such file or directory
..
The code below is working
...
prova='C:filename.mat';
...
load 'prova'
inside my workspace I found tha matrix 'mat'
But if i rename the variable containing tha variable name as below
...
n=prova;
load 'n'
??? Error using ==> load
Unable to read file n: No such file or directory
...
Can anybody explain me this?! It's so annoyng because my function works only depending on the name of the input variable!
  1 commentaire
Jan
Jan le 8 Mar 2012
Btw. It is recommended not to use "var" as name of a variable, because this shaddows the built-in function VAR. Try this:
clear var
var(1:10)
var = rand(1, 10)
var(1:10)

Connectez-vous pour commenter.

Réponse acceptée

Jan
Jan le 8 Mar 2012
Please read the documentation of load and save again. Look in the given examples to learn the difference between these possibilities
name = 'myfile'
save 'name' % saves "name.mat"
save name % saves "name.mat"
save(name) % saves "myfile.mat"
save('name') % saves "name.mat"
The non-functional form save name or the equivalent save 'name' is useful in the command window, but it confuses beginners frequently.

Plus de réponses (1)

Walter Roberson
Walter Roberson le 8 Mar 2012
load(prova)
and correspondingly
save(prova)
I think if you check you will find that you happen to have a file named var.mat
  2 commentaires
Eugenio
Eugenio le 8 Mar 2012
Sorry Walter, can you explain what you mean?
Walter Roberson
Walter Roberson le 8 Mar 2012
Do not use
load 'prova'
as your syntax. Instead, use
load(prova)
as your syntax.

Connectez-vous pour commenter.

Catégories

En savoir plus sur Variables 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