MATLAB Answers

how can i convert an answer from an inputdlg into a matrix ?

2 views (last 30 days)
frederic brizard
frederic brizard on 29 Apr 2021
Answered: Rik on 12 May 2021
%Attribuer des noms à des compositions reportées dans un fichier
if choice == 2
prompt = {'fichier'};
answer = inputdlg(prompt,'Fichier');
fichier = load(answer);
[nl,nc]=size(fichier);
for n = 1:nl
fichierCart = bary2cart (fichier(n,:),10);
Nom=quelleRoche(fichier(n,:)/100,Sommets_bary,Polyg,10);
hold on
x=fichierCart(2);
y=fichierCart(3);
text (x,y,Nom,'color','g','Fontsize',10);
end
end
I new to matlab so maybe my question is not formulated correctly but what i need to do is make dialog box where the user puts in a filename that contains matrix with n number of lines and 3 columns. but what my dialog box does is just give back answer with a cell that has just one box like this : answer = [file]. thank you for your help.

Answers (2)

Sindhu Karri
Sindhu Karri on 12 May 2021
Hii,
Refer to below attached code,it might help you
prompt = {'Enter filename'};
dlgtitle = 'Input';
dims = [1 35];
definput = {'data.txt'}; %filename
answer = inputdlg(prompt,dlgtitle,dims,definput)
array = load(answer{1});
Hope this helps!!

Rik
Rik on 12 May 2021
While you could solve it like you suggest, a much better idea (in my opinion) would be to use uigetfile.
file = uigetfile opens a modal dialog box that lists files in the current folder. It enables a user to select or enter the name of a file. If the file exists and is valid, uigetfile returns the file name when the user clicks Open. If the user clicks Cancel or the window close button (X), uigetfile returns 0.

Community Treasure Hunt

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

Start Hunting!