Save data sets in different places

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?

 採用された回答

Stephen23
Stephen23 2018 年 8 月 20 日
編集済み: Stephen23 2018 年 8 月 20 日

0 投票

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 件のコメント

Image Analyst
Image Analyst 2018 年 8 月 20 日
Good catch. I just used his code for save without thinking.

サインインしてコメントする。

その他の回答 (1 件)

Image Analyst
Image Analyst 2018 年 8 月 19 日
編集済み: Image Analyst 2018 年 8 月 19 日

0 投票

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

カテゴリ

ヘルプ センター および File ExchangeSimulink についてさらに検索

タグ

Community Treasure Hunt

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

Start Hunting!

Translated by