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

Einzelnen Wert einer Matrix mittels guidata auslesen

 

Orcus
Forum-Newbie

Forum-Newbie


Beiträge: 4
Anmeldedatum: 29.10.12
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 29.10.2012, 18:38     Titel: Einzelnen Wert einer Matrix mittels guidata auslesen
  Antworten mit Zitat      
Hallo zusammen,

ich habe ein Programm mit GUI erstellt, dieses soll je nach Fallunterscheidung eine Matrix neu berechnen und anschließend plotten. Jedoch hängt dies auch von nur einem einzelnen Wert innerhalb der berechneten Matrix ab. Hier habe ich nun mein Problem an dem ich hänge: Ich schaffe ich es nicht nur diesen einen Wert aus der Matrix mittels guidata auszulesen und anschließend die Gesamtmatrix zu plotten (wahrscheinlich trivial aber ich stehe gerade total auf dem Schlauch)

Mein bisheriger Code:
Code:


[Xm,Ym] = meshgrid(x,y);
   
if get(handles.zusq,'Valu')==0;
   
    Zm = zeros(size(Xm)); %<--- Die später zu speichernde Matrix
             
    for  i=1:length(x)
            for j = 1:length(y)
       
           [...Berechnung...]
   
           Zm(j,i)=ber;

        end
    end
   
    handles.ZSM = Zm;
    guidata(hObject, handles); %Hier wird die Matrix das erste Mal gespeichert und das Programm ist durchgelaufen. Nach einem weiteren Klick auf den Button soll jetzt aber ein Wert aus dieser Matrix ausgelesen und zur weiteren Berechnung verwendet werden.
     
               
elseif (get(handles.zusq,'Valu')==1) && (get(handles.ZSM(21,21))==0); %<--- Hier ist der Problemfall, wie bekomme ich nur diesen einen Wert aus der gespeicherten Matrix?
   
    msgbox('Bitte zuerst normalen Programmdurchlauf starten!','Eingabefehler','error');  
   
   
elseif (get(handles.zusq,'Valu')==1) && (get(handles.ZSM(21,21))~=0);  %<--- selbes Problem

for  i=1:length(x)
            for j = 1:length(y)
       
           [...weitere Berechnung...]

        end
    end

    handles.ZSM = Zm;
    guidata(hObject, handles); %Hier wird die Matrix ein weiteres Mal gespeichert und soll für weitere Programmdurchläufe zur Verfügung stehen
       
end

%% Plots

meshc(handles.plot3d, Xm,Ym,Zm)
rotate3d on
contourf(handles.draufsicht,Xm,Ym,Zm)
 
Private Nachricht senden Benutzer-Profile anzeigen


Harald
Forum-Meister

Forum-Meister


Beiträge: 24.495
Anmeldedatum: 26.03.09
Wohnort: Nähe München
Version: ab 2017b
     Beitrag Verfasst am: 29.10.2012, 19:55     Titel:
  Antworten mit Zitat      
Hallo,

Code:
(get(handles.zusq,'Valu')==1)

normal heißt die Eigenschaft doch Value?

Code:
(get(handles.ZSM(21,21))==0)

Das "get" ist hier nicht sinnvoll. Du will ja den Wert der Matrix an sich abfragen, also lediglich
Code:
handles.ZSM(21,21))==0


Grüße,
Harald
Private Nachricht senden Benutzer-Profile anzeigen
 
Orcus
Themenstarter

Forum-Newbie

Forum-Newbie


Beiträge: 4
Anmeldedatum: 29.10.12
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 02.11.2012, 15:23     Titel:
  Antworten mit Zitat      
Hat hervorragend funktioniert!

Vielen herzlichen Dank!!! Very Happy
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.