Discover MakerZone

MATLAB and Simulink resources for Arduino, LEGO, and Raspberry Pi

Learn more

Discover what MATLAB® can do for your career.

Opportunities for recent engineering grads.

Apply Today

Matlab does not give the right answer

Asked by Phong Pham on 19 Nov 2012

I have a code to load the files in the folder with filename_2,

0 Comments

Phong Pham

Tags

Products

No products are associated with this question.

3 Answers

Answer by Azzi Abdelmalek on 19 Nov 2012

Check if your file filename_2 exist in your folder

1 Comment

Phong Pham on 19 Nov 2012

it does

Azzi Abdelmalek
Answer by Ilham Hardy on 19 Nov 2012

Seems for me it has more to do with

for run= 2:2

and

for run= 1:1

1 Comment

Ilham Hardy on 19 Nov 2012

Use the debugger and check what are the value of

run 

and

ic

And what if you use only the command without any for loop.

Ilham Hardy
Answer by Image Analyst on 19 Nov 2012
Edited by Image Analyst on 19 Nov 2012

Not really sure - maybe it's a conflict between using the command line version of load and the function version (do you even know the difference?) Do you really have an equal sign in the filename, and no extension (such as .mat) for it, and that filename_2 is the actual filename and not the variable name? Anyway, assuming that's the case, try this more robust code:

for run = 2:2
	for ic = 11:12
		if ic == 11
			fullFileName = fullfile(pwd, 'filename_2');
		else
			fullFileName = fullfile(pwd, 'filename_2_eps=1');
		end
		if exist(fullFileName, 'file')
			load(fullFileName)
		else
			message = sprintf('Error: file not found:\n%s', fullFileName);
			uiwait(warndlg(message));
		end
	end
end

Or maybe it's the fact that you're using run as a variable name but MATLAB considers it a built-in function name (so you should not use run as a variable name, just like you shouldn't use for, while, sprintf, load, etc. as variable names either).

4 Comments

Image Analyst on 19 Nov 2012

Any reason why you chose to not include the parts of my code that make it robust (the call to fullfile() and the call to exist() and warndlg())? Also, I prefer sprintf() to strcat(), but it's your call. If you use my code, does it ever warn you that the file does not exist? If not, what's the problem now? I don't know what this means: "i still dont get the right answer for filename_2" Does that mean that filename_2 does not contain the correct filename, or that you are unable to read the contents of the file specified by filename_2? What format is filename_2 - Is it a text file, a csv file, a .mat file, or something else? Why doesn't it have an extension to indicate that? How was it created?

Image Analyst on 19 Nov 2012

I don't know what the second sentence means. What does "not right" mean to you? Also, there were 7 questions in my prior comment and you answered only 2 of them, at most.

Walter Roberson on 26 Nov 2012

Your loop is overwriting X0in on each iteration, it appears.

Image Analyst

Contact us