WICHTIG: Der Betrieb von goMatlab.de wird privat finanziert fortgesetzt. - Mehr Infos...

Mein MATLAB Forum - goMatlab.de

Mein MATLAB Forum

 
Gast > Registrieren       Autologin?   

Partner:




Forum
      Option
[Erweitert]
  • Diese Seite per Mail weiterempfehlen
     


Gehe zu:  
Neues Thema eröffnen Neue Antwort erstellen

Merkwürdiger Fehler bei Arbeit mit Cells

 

Chrischi2405
Forum-Anfänger

Forum-Anfänger


Beiträge: 12
Anmeldedatum: 23.05.12
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 12.06.2012, 21:46     Titel: Merkwürdiger Fehler bei Arbeit mit Cells
  Antworten mit Zitat      
Hallo,
leider kann ich das Thema nicht genauer benennen, da es mir unerklärlich
ist, was schief läuft. Ich benutze eine lange if - elseif Anweisung, die bspw.
wie folgt aussieht
Code:

elseif get(handles.Modell_dropdown,'Value')==7;
   Bild=imread('Jetta.png','BackgroundColor',[1 1 1]);
   image (Bild);
   set(gca,'DataAspectRatio',[1 1 1]);                                    
   set(gca,'Visible','off');    
   set(gca,'XTick',[]),set(gca,'YTick',[]);
   [nr tx Modell]=xlsread('Jetta.xls');
elseif get(handles.Modell_dropdown,'Value')==8;
   Bild=imread('Beetle.png','BackgroundColor',[1 1 1]);
   image (Bild);
   set(gca,'DataAspectRatio',[1 1 1]);                                    
   set(gca,'Visible','off');    
   set(gca,'XTick',[]),set(gca,'YTick',[]);
   [nr tx Modell]=xlsread('Beetle.xls');
 


Es geht darum, dass über ein Popupmenü ein Fahrzeug, bzw. dessen Exceldatei eingelesen und das Bild angezeigt wird.
Später möchte ich das Cell-Array benutzen um ein weiteres Popupmenü zu füttern, mit:

Code:

for i=1:length(Modell)
    Linie{i}=Modell{i,2};
end

Linie=unique(Linie);
set(handles.Linie_dropdown,'String',Linie)
 


Dabei soll die Austattungslinie aus dem Cell gelesen und ausgedünnt angezeigt werden. Merkwürdigerweise funktionier das bei dem 'Jetta'
und anderen Fahrzeugen, aber bei dem 'Beetle' und anderen Fahrzeugen nicht - es erscheint folgende Fehlermeldung:

??? Index exceeds matrix dimensions.

Error in ==> GUI_2_3>Modell_dropdown_Callback at 259
Linie{i}=Modell{i,2};

Error in ==> gui_mainfcn at 96
feval(varargin{:});

Error in ==> GUI_2_3 at 42
gui_mainfcn(gui_State, varargin{:});

??? Error while evaluating uicontrol Callback

Woran kann das liegen?
Ich bedanke mich im Voraus und wünsche noch einen schönen Abend!
Private Nachricht senden Benutzer-Profile anzeigen


Harald
Forum-Meister

Forum-Meister


Beiträge: 24.502
Anmeldedatum: 26.03.09
Wohnort: Nähe München
Version: ab 2017b
     Beitrag Verfasst am: 12.06.2012, 22:38     Titel:
  Antworten mit Zitat      
Hallo,

verwende bitte den Debugger und setze in der entsprechenden Zeile einen Haltepunkt. Schau dir dann an, was genau in der Zeile passiert und versuch zu verstehen, warum das nicht klappt.
Du verstehst immerhin den Code und den Ablauf (bzw. solltest das zumindest), hast also wesentlich bessere Möglichkeiten, dem Problem auf die Spur zu kommen.

Grüße,
Harald
Private Nachricht senden Benutzer-Profile anzeigen
 
denny
Supporter

Supporter



Beiträge: 3.853
Anmeldedatum: 14.02.08
Wohnort: Ulm
Version: R2012b
     Beitrag Verfasst am: 13.06.2012, 09:54     Titel:
  Antworten mit Zitat      
Hallo
versuch mal so:
Code:

Linie     = Modell(:,2);
Linie     = unique(Linie);
set(handles.Linie_dropdown,'String',Linie)
 
Private Nachricht senden Benutzer-Profile anzeigen
 
Chrischi2405
Themenstarter

Forum-Anfänger

Forum-Anfänger


Beiträge: 12
Anmeldedatum: 23.05.12
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 13.06.2012, 10:01     Titel:
  Antworten mit Zitat      
Hallo Denny,
mal wieder ein ganz ganz dickes Dankeschön!
Es funkitioniert!
Private Nachricht senden Benutzer-Profile anzeigen
 
Chrischi2405
Themenstarter

Forum-Anfänger

Forum-Anfänger


Beiträge: 12
Anmeldedatum: 23.05.12
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 13.06.2012, 12:26     Titel:
  Antworten mit Zitat      
Hallo,
ich muss leider nochmal rückfragen, da bei einem anderen Problem
der gleiche Fehler aufgetreten ist. Die Vermutung liegt nahe, dass
ich auch diesen mit dem gleichen Ansatz beheben kann, aber ich
weiß nicht wie.
Im Folgenden soll aus einem Popupmenü die Information heraus
gelesen und weiter, wie unten beschrieben, bearbeitet werden.
Hier erstmal der jetzige Callback für ein weiteres Popupmenü:
Code:

global Modell Linie Kraftstoff

Kraftstoff={}
Wert=get(handles.Linie_dropdown,'Value');
k=0;
for i=1:length(Modell)
if strcmp(Modell{i,2},Linie{Wert})
    k=k+1;
    Kraftstoff(k)=Modell(i,5)
end
end

if length(Kraftstoff)>1
Kraftstoff=unique(Kraftstoff)
end
set(handles.Kraftstoff_dropdown,'String',Kraftstoff)
 


Es soll also praktisch je nachdem, welche Ausstattungslinie das Auto hat,
der zugehörige Kraftstoff, sprich im Nachhinein dann, der Motor gesucht
werden, der in dieser Austattungslinie verfügbar ist. Dabei soll die Cell-
Variable durchsucht und Entsprechendes aufgeführt werden. Ebenfalls
hier wieder: Der gleiche Fehler, der weiter oben schon gepostet wurde.
Ebenfalls: Bei manchen Fahrzeugen funktioniert es, bei manchen nicht.

Ich bin Euch für Eure Mithilfe wieder im Voraus dankbar!
Private Nachricht senden Benutzer-Profile anzeigen
 
denny
Supporter

Supporter



Beiträge: 3.853
Anmeldedatum: 14.02.08
Wohnort: Ulm
Version: R2012b
     Beitrag Verfasst am: 13.06.2012, 20:01     Titel:
  Antworten mit Zitat      
so vielleicht:
Code:

global Modell Linie Kraftstoff

Kraftstoff={}
Wert=get(handles.Linie_dropdown,'Value');

k = strcmp(Modell(:,2),Linie{Wert})
Kraftstoff =Modell(k,5)
Kraftstoff=unique(Kraftstoff)
 
set(handles.Kraftstoff_dropdown,'String',Kraftstoff)
Private Nachricht senden Benutzer-Profile anzeigen
 
Neues Thema eröffnen Neue Antwort erstellen



Einstellungen und Berechtigungen
Beiträge der letzten Zeit anzeigen:

Du kannst Beiträge in dieses Forum schreiben.
Du kannst auf Beiträge in diesem Forum antworten.
Du kannst deine Beiträge in diesem Forum nicht bearbeiten.
Du kannst deine Beiträge in diesem Forum nicht löschen.
Du kannst an Umfragen in diesem Forum nicht mitmachen.
Du kannst Dateien in diesem Forum posten
Du kannst Dateien in diesem Forum herunterladen
.





 Impressum  | Nutzungsbedingungen  | Datenschutz | FAQ | goMatlab RSS Button RSS

Hosted by:


Copyright © 2007 - 2025 goMatlab.de | Dies ist keine offizielle Website der Firma The Mathworks

MATLAB, Simulink, Stateflow, Handle Graphics, Real-Time Workshop, SimBiology, SimHydraulics, SimEvents, and xPC TargetBox are registered trademarks and The MathWorks, the L-shaped membrane logo, and Embedded MATLAB are trademarks of The MathWorks, Inc.