Weird reading data: seed

3 次查看(过去 30 天)
Zeynab Mousavikhamene
编辑: 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 CenterFile Exchange 中查找有关 Guidance, Navigation, and Control (GNC) 的更多信息

标签

Community Treasure Hunt

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

Start Hunting!

Translated by