How can I use an answer from a prompt as a file name?

6 次查看(过去 30 天)
I am currently trying to use an answer from a prompt given as a file name for a table that gives the location of cells on an image. However I keep getting error messages or am only able to save the table as one name. Below is the codes that I am using:
prompt1 = 'What would you like the data file to be called?';
filename = input(prompt1,'s');
writetable(centroiddata, filename)
I have tried several solutions to resolving this, including changing the filename in the 3rd line to 'filename' and specifying the file path.
If anyone can help me out I would be very grateful!
Thanks in advance!

采纳的回答

Stephen23
Stephen23 2016-7-4
Try this:
[~,name] = fileparts(input(prompt1,'s'));
writetable(centroiddata, [name,'.txt'])
  11 个评论
Stephen23
Stephen23 2016-7-5
@Nathan Costin: image handling is quite a different topic, and you would be better off asking it a new question.

请先登录,再进行评论。

更多回答(1 个)

Image Analyst
Image Analyst 2016-7-4
Why not simply use the function meant for asking the user for a filename?
Why are you not using uiputfile()???
  3 个评论
Image Analyst
Image Analyst 2016-7-4
Try this:
% Get the name of the file that the user wants to save.
% Note, if you're saving an image you can use imsave() instead of uiputfile().
startingFolder = userpath % Or "pwd" or wherever you want.
defaultFileName = fullfile(startingFolder, '*.*');
[baseFileName, folder] = uiputfile(defaultFileName, 'Specify a file');
if baseFileName == 0
% User clicked the Cancel button.
return;
end
fullFileName = fullfile(folder, baseFileName)

请先登录,再进行评论。

类别

Help CenterFile Exchange 中查找有关 File Operations 的更多信息

Community Treasure Hunt

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

Start Hunting!

Translated by