Hi all,
I am a bit stuck with my script. What I am trying to achieve is to request an input from the user (a number). Then make this input part of the file name that I am trying to export.
This is the code I have written so far, but unfortunately, it does not work.
Where am i going wrong?
clc
clear all
close all
A=2000
prompt = {'Project Number:'};
dlgtitle = 'Input';
dims = [1 50];
definput = {' '};
answer = inputdlg(prompt,dlgtitle,dims,definput)
writematrix(A,'num2str(answer)+TEST.csv')
Many thanks

1 commentaire

KSSV
KSSV le 17 Oct 2022
writematrix(A,'num2str(answer)+TEST.csv')
What you are expecting to do from the above line?

Connectez-vous pour commenter.

 Réponse acceptée

With the clarification in your comment on the answer from @Enrico Gambini, I would use string operations along with the fullfile function.
n = 4000;
filename = n + "_TEST.csv"
filename = "4000_TEST.csv"
pathname = fullfile("c:\temp", filename)
pathname = "c:\temp/4000_TEST.csv"
Note that because the code execution functionality for MATLAB Answers runs on Linux, fullfile used / as the file separator. If you ran that on Windows it would use \. See the filesep function.
computer
ans = 'GLNXA64'
And of course you could combine the two lines together to avoid creating the temporary variable filename, if you don't need that separately.
pathname2 = fullfile("c:\temp", n + "_TEST.csv")
pathname2 = "c:\temp/4000_TEST.csv"

1 commentaire

MATLAB_Soldier
MATLAB_Soldier le 20 Oct 2022
Thank you for your answer. I have used the code above.
Have a good day!

Connectez-vous pour commenter.

Plus de réponses (1)

Enrico Gambini
Enrico Gambini le 17 Oct 2022

0 votes

Try to use the function "strcat" and "string"
str=string(answer);
writematrix(A,strcat(str,'+TEST.csv'))

1 commentaire

MATLAB_Soldier
MATLAB_Soldier le 18 Oct 2022
Thank you Enrico. This one seems to work. However, I have realised that it is not going to work when I want to define the path, such as:
prompt = {'Project Number:'};
dlgtitle = 'Input';
dims = [1 50];
definput = {' '};
answer = inputdlg(prompt,dlgtitle,dims,definput)
str=string(answer);
writematrix(A,'C:\Users\XYZ\Documents\MATLAB\TEST.csv')
I have tried this variant to include user input in the file name, but as I expected, it didn't work.
writematrix(A,'C:\Users\XYZ\Documents\MATLAB\'strcat(str,'TEST.csv'))
What is the issue?
Many thanks!

Connectez-vous pour commenter.

Produits

Version

R2021b

Community Treasure Hunt

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

Start Hunting!

Translated by