LISTBOX, PLEASE HELP ME WITH THE LISTBOX

1 visualizzazione (ultimi 30 giorni)
Hello, i have posted some questions before about listbox but none give an answer....
my question is simple
i have this matrix:
a=1:1:10 % this is 1 2 3 4 5 6 7 8 9 10
i would like to load these numbers into a listbox, but i dont know how, must i change these numbers to char???
how ca i do this???? thanks in advance
  1 Commento
evgeny shumsky
evgeny shumsky il 10 Set 2019
Modificato: evgeny shumsky il 10 Set 2019
if you wont it to be one under another
Mat=[1:10];
Mat = mat2cell(num2str(Mat')); % mat=mat' converts from row vector to column vector
set(handles.listbox,'string',Mat); % listbox ->tag of the listbox
1-10.JPG

Accedi per commentare.

Risposta accettata

David Sanchez
David Sanchez il 27 Ago 2013
The array has to be transformed into a cell arrary:
a=1:1:10;
b=num2cell(a);
Then, send it to the popup menu:
set(handles.my_pop,'String',b);
  7 Commenti
Jules Ray
Jules Ray il 27 Ago 2013
just in case: here is the code on listbox_1 that should put the strings in the listbox_2, but is not working:
function listbox_1_Callback(hObject, eventdata, handles)
handles = guidata(hObject);
handles.output = hObject;
contents = cellstr(get(hObject,'String')); %returns stationslist contents as cell array
station_selection=char(contents{get(hObject,'Value')}) %returns selected item from stationslist
handles.statsel=station_selection;
%put profile names of profiles in LISTBOX_2
station=handles.statsel;
dirstations=handles.stationsdir;
cd(dirstations)
cd(station)
sel=(handles.statsel);
load(sprintf('%s_swaths.mat',sel));
as=nim
af=(1:1:as)
a=num2cell(af)
%a=10
set(handles.listbox_2,'String',a)
guidata(hObject, handles);
cheers
Image Analyst
Image Analyst il 28 Ago 2013
What are all those things? Are any of them listboxes? Are you saying that your tag in GUIDE says listbox_1 and listbox_2 but in the code it doesn't? How are you running it? Are you clicking the green triangle in GUIDE or in MATLAB? I suspect that the figure you think you're running, you really aren't - you're running a different one.

Accedi per commentare.

Più risposte (1)

Wayne King
Wayne King il 27 Ago 2013
a = inputdlg('Enter your vector');
% when dialog comes up enter, 1:10, click OK
a = str2num(cell2mat(a));
a is now a double precision vector

Categorie

Scopri di più su Desktop in Help Center e File Exchange

Prodotti

Community Treasure Hunt

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

Start Hunting!

Translated by