Error in the Code shown below:

9 visualizzazioni (ultimi 30 giorni)
Mohsin
Mohsin il 30 Nov 2018
Modificato: Guillaume il 30 Nov 2018
handles.text_ch = []; % Vector of the Test Fields
Offset = 0;
for range = 1:32
set(handles.text_ch(range), 'String', sprintf('%d', range + Offset * 32));
end
Error is:
Index exceeds array bounds.
Error in GUI_OpeningFcn (line 122)
set(handles.text_ch(range), 'String', sprintf('%d', range + Offset * 32));
Please help me.

Risposte (1)

Guillaume
Guillaume il 30 Nov 2018
Isn't the error obvious? You defin handles.text_ch as an empty array and then try to access its elements 1 to 32. Since it's empty it doesn't even have an element at index 1.
Put at least 32 elements in that handles.text_ch variable. Note that these 32 elements should be some sort of uicontrol.
  4 Commenti
Mohsin
Mohsin il 30 Nov 2018
Yes this string will change the unicontrol property. But how can i initialize the handles.text_ch variable, other then []. I didn't get the point.
Guillaume
Guillaume il 30 Nov 2018
Modificato: Guillaume il 30 Nov 2018
The code you show is meant to change the String property of 32 different UI controls. Hence you need to put the handle of 32 UI controls into handle.text_ch. How you do this, I can't tell you since I've no idea how you create these 32 controls in the first place. If you create them in code, put their handle in handle.text_ch when you create them.

Accedi per commentare.

Categorie

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

Community Treasure Hunt

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

Start Hunting!

Translated by