Weird reading data: seed

3 vues (au cours des 30 derniers jours)
Zeynab Mousavikhamene
Zeynab Mousavikhamene le 10 Oct 2019
Modifié(e) : Stephen23 le 11 Oct 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

Réponses (1)

Stephen23
Stephen23 le 11 Oct 2019
Modifié(e) : Stephen23 le 11 Oct 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);

Catégories

En savoir plus sur Guidance, Navigation, and Control (GNC) dans Help Center et File Exchange

Tags

Community Treasure Hunt

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

Start Hunting!

Translated by