Weird reading data: seed

2 Ansichten (letzte 30 Tage)
Zeynab Mousavikhamene
Zeynab Mousavikhamene am 10 Okt. 2019
Bearbeitet: Stephen23 am 11 Okt. 2019
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

Antworten (1)

Stephen23
Stephen23 am 11 Okt. 2019
Bearbeitet: Stephen23 am 11 Okt. 2019
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);

Kategorien

Mehr zu Programming finden Sie in Help 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