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

3 ビュー (過去 30 日間)
Himangshu
Himangshu 2023 年 4 月 29 日
コメント済み: Himangshu 2023 年 4 月 29 日
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.

採用された回答

Stephen23
Stephen23 2023 年 4 月 29 日
Change
newFilename = fullfile(filepath, name , '_RT.mat');
to
newFilename = fullfile(filepath, [name,'_RT.mat']);
% ^ ^
  3 件のコメント
Stephen23
Stephen23 2023 年 4 月 29 日
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 2023 年 4 月 29 日
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);

サインインしてコメントする。

その他の回答 (0 件)

カテゴリ

Help Center および File ExchangeWorkspace Variables and MAT Files についてさらに検索

Community Treasure Hunt

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

Start Hunting!

Translated by