the output result only saves the last (unusual1.dat) file instead of all three.
if f==1 save Norm.dat stats -ascii %Save data to dat file using ascii
else if f==2 save Unusual.dat stats -ascii
else
save Unusual2.dat stats -ascii
end
end
Could you help me where is my problem, please?

 Akzeptierte Antwort

Stephen23
Stephen23 am 20 Aug. 2018
Bearbeitet: Stephen23 am 20 Aug. 2018

0 Stimmen

The mistake that both you and Image Analyst made is to use command syntax, whereas you need to use function syntax like this:
fnm = sprintf('Unusual%d.dat', f);
save(fnm,'stats','-ascii')
This is clearly explained in the MATLAB help: "When a function input is a variable, you must use function syntax to pass the value to the function."

1 Kommentar

Image Analyst
Image Analyst am 20 Aug. 2018
Good catch. I just used his code for save without thinking.

Melden Sie sich an, um zu kommentieren.

Weitere Antworten (1)

Image Analyst
Image Analyst am 19 Aug. 2018
Bearbeitet: Image Analyst am 19 Aug. 2018

0 Stimmen

I guess then that f never obtains the value of anything other than 1 or 2.
In your loop, construct the file name with sprintf and use that instead of the multiple if block:
filename = sprintf('Unusual%d.dat', f);
save filename stats -ascii

Kategorien

Mehr zu Data Import and Analysis finden Sie in Hilfe-Center und File Exchange

Tags

Community Treasure Hunt

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

Start Hunting!

Translated by