How can I save the data from my function as a new .mat file?

4 vues (au cours des 30 derniers jours)
Himangshu
Himangshu le 29 Avr 2023
Commenté : Himangshu le 29 Avr 2023
This is my code snippet:
[filepath, name, ext] = fileparts(filename);
newFilename = fullfile(filepath, name , '_RT.mat');
disp(newFilename)
save(newFilename, 'AudioRT', 'VisualRT', 'SOA')
This is the result:
/MATLAB Drive/CHECK/Participant/_RT.mat
Error using save
Cannot create '_RT.mat' because '/MATLAB Drive/CHECK/Participant' does not exist.
Error in CongruentRT (line 42)
save(newFilename, 'AudioRT', 'VisualRT', 'SOA')
But I expect this:
/MATLAB Drive/CHECK/Participant_RT.mat % "/" need not be there
Then, I assume my files would get saved and it won't throw this error.

Réponse acceptée

Stephen23
Stephen23 le 29 Avr 2023
Change
newFilename = fullfile(filepath, name , '_RT.mat');
to
newFilename = fullfile(filepath, [name,'_RT.mat']);
% ^ ^
  3 commentaires
Stephen23
Stephen23 le 29 Avr 2023
Aaah, you are actually using strings. It helps when you provide this kind of important information.
Try STRCAT:
newFilename = fullfile(filepath, strcat(name,'_RT.mat'))
% ^^^^^^^ ^
Himangshu
Himangshu le 29 Avr 2023
Well, first line of my code snippet shows that. Thanks for your help. I have tested your solution and this works too so I will accept the answer.
Merry answering! :)
I found another solution meanwhile and it seems to work now.
newFilename = sprintf('%s/%s_RT.mat', filepath, name);

Connectez-vous pour commenter.

Plus de réponses (0)

Catégories

En savoir plus sur Workspace Variables and MAT Files dans Help Center et File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by