Weird reading data: seed

2 ビュー (過去 30 日間)
Zeynab Mousavikhamene
Zeynab Mousavikhamene 2019 年 10 月 10 日
編集済み: Stephen23 2019 年 10 月 11 日
I have data point (attached) and when I call it in command window: data.seed I get the right answer but when I use it in the script to as file .mat name saved, I get error and I see matlab reads it as seed. Any idea why?
The command I use:
name = strcat(struct(jjj).name,'_','seed',data.seed,'.mat');
The error I receive:
Unable to write file C:\Users\Zeynab\Desktop\jsonmatlab\Result\Local\K1_0.0\K1_0.0_seed.mat: Invalid argument.
Using another name rather than data.seed would work so I assume the problem is within data.seed
1.JPG
2.JPG

回答 (1 件)

Stephen23
Stephen23 2019 年 10 月 11 日
編集済み: Stephen23 2019 年 10 月 11 日
The problem is data.seed.
When you concatenate that numeric value onto character vectors MATLAB does not implcitly convert the numeric value to a character representation of that value, it actually converts it to the character whose character code is equal to that value. This is simple to demonstrate and resolve, see:
E.g. rather than awkward strcat yoiu could use neat and efficient sprintf:
name = sprintf('%s_seed%d.mat',struct(jjj).name,data.seed);

カテゴリ

Help Center および File ExchangeProgramming についてさらに検索

タグ

Community Treasure Hunt

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

Start Hunting!

Translated by