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

Maximum einer Matrix

 

KaiS
Forum-Century

Forum-Century


Beiträge: 102
Anmeldedatum: 19.04.11
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 05.05.2011, 14:27     Titel: Maximum einer Matrix
  Antworten mit Zitat      
Hallo zusammen,

ich habe in meinem Programm 4 Variablen (P1, P2, P3, P4) berechnet und möchte nun daraus bestimmen, welches der 4 Variablen die größte ist.

Dementsprechend habe ich folgendes geschrieben:
Code:

P_max = max([P_1,P_2, P_3, P_4])


Unverständlicherweise gibt mir Matlab aber als Ergebnis einen Wert heraus, der ungleich jedem der 4 Variablen ist (s.u.)

P_1 = 98.493
P_2 = 7.2358
P_3 = 36.396
P_4 = 30.481
P_max = 57

Weiß jmd woran das liegen könnte?

Ich habe im command-window auch mal probeweise den selben Befehl nur mit anderen Werten eingegeben (max([1,2,3]) und dabei das richtige Ergebnis herausbekommen.

Hat vllt Matlab damit Probleme, dass ich Variablen und nicht direkt Zahlen in die max-Funktion hereinschreibe?

Danke!

LG
Kai
Private Nachricht senden Benutzer-Profile anzeigen


eupho
Forum-Meister

Forum-Meister


Beiträge: 777
Anmeldedatum: 07.01.09
Wohnort: Marburg
Version: R2009b
     Beitrag Verfasst am: 05.05.2011, 14:35     Titel:
  Antworten mit Zitat      
Code:
P_1 = 98.493
P_2 = 7.2358
P_3 = 36.396
P_4 = 30.481
P_max = max([P_1,P_2, P_3, P_4])


funktioniert bei mir.

Sind P_1 bis P_4 vielleicht Vektoren?
Private Nachricht senden Benutzer-Profile anzeigen
 
KaiS
Themenstarter

Forum-Century

Forum-Century


Beiträge: 102
Anmeldedatum: 19.04.11
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 05.05.2011, 14:44     Titel:
  Antworten mit Zitat      
Nope, leider nicht.

Mir ist aber gerade aufgefallen, dass ich die Zahlen dann noch per
Code:
P_2 = sprintf('%4.2f',P2);

umwandle.
Im Workspace wird mir dann als Value nicht z.B. 98.49, sondern '98.49' angegeben.

Liegt die Ursache also vllt bei den Apostrophen?
Private Nachricht senden Benutzer-Profile anzeigen
 
dany2k3k
Forum-Fortgeschrittener

Forum-Fortgeschrittener


Beiträge: 66
Anmeldedatum: 02.02.10
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 05.05.2011, 14:49     Titel:
  Antworten mit Zitat      
naja ,

mit sprintf wandelst du die zahl in einen string um. P_2 ist somit kein double mehr,sondern ein string !!! max befehl sollte allerdings schon normale doubles bekommen als input.
Wenn du wirklich strings brauchst, dann speichere es in eine serparable variable oder wandle wieder mit str2num in double um Smile
Private Nachricht senden Benutzer-Profile anzeigen
 
KaiS
Themenstarter

Forum-Century

Forum-Century


Beiträge: 102
Anmeldedatum: 19.04.11
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 05.05.2011, 15:10     Titel:
  Antworten mit Zitat      
Danke, klappt jetzt Smile
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.