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

fröhliche Fehlersuche...

 

Knolli
Forum-Newbie

Forum-Newbie


Beiträge: 8
Anmeldedatum: 24.10.09
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 06.11.2009, 23:15     Titel: fröhliche Fehlersuche...
  Antworten mit Zitat      
Ich habe folgendes Problem:

zu folgender Gleichung:
y1=(1./(sqrt(2*pi)*v*x)).*exp((-1)*(((log(x)-n).^2)/(2*v^2)))
mit:
v=0.5491
n=0.8937
habe ich Matlab das Integral bilden lassen.

Das kam dabei heraus:
Y1=(((33554432*2715767943128353^(1/2)*pi^(1/2)*erf((67108864*2715767943128353^(1/2)*(log(x) – 8937/10000))/2715767943128353))/6198707624824261)+0.5);

funktioniert soweit auch recht gut.

jetzt habe ich folgende funktion definiert:
D=1-Y1

funktioniert auch gut.

Probleme gibt esjetzt, wenn ich diese Gleichung in folgende Funktion einbaue:
W=x*(5^0.3)*((D)^0.7)

Da kommt dannimmer die folgende Fehlermeldung:

??? Error using ==> mpower
Matrix must be square.

...und ich versteh nicht warum. Über Hilfe wäreich echt total dankbar!!!
Private Nachricht senden Benutzer-Profile anzeigen


Harald
Forum-Meister

Forum-Meister


Beiträge: 24.449
Anmeldedatum: 26.03.09
Wohnort: Nähe München
Version: ab 2017b
     Beitrag Verfasst am: 06.11.2009, 23:57     Titel:
  Antworten mit Zitat      
Hallo,

die Frage wird sein, was x an der Stelle ist.
Probier mal, * durch .* zu ersetzen. Wenn das nicht funktioniert, schau dir mal die Datentypen und Dimensionen von x und D an.

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



Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 07.11.2009, 01:41     Titel:
  Antworten mit Zitat      
Hallo Knolli,

wie Harald bereits gesagt hat ist der Fehler in diesem Term den du angegeben hast. allerdings erwarte ich den nicht nur im * sondern vor allem im ^ (was viel gravierender ist als eine Multiplikation, da z.b ^-1 ja die Inverse ist, die bekanntlich für eine nicht quatratische Matrix einigermassen schwierig zu berechnen ist Razz) deshalb bekommst du auch "matrix must be square".
Ich würde die gleiche Lösung wie Harald vorschlagen, aber nicht nur bei * (.*) verwenden sondern auch bei ^ (.^) verwenden. D.h. Elementweise exponieren und nicht die ganze Matrix hoch 0.7 (ich denke du hattest sowieso elementweise im Sinn Wink ).

Gruss und schönes Wochenende
 
Harald
Forum-Meister

Forum-Meister


Beiträge: 24.449
Anmeldedatum: 26.03.09
Wohnort: Nähe München
Version: ab 2017b
     Beitrag Verfasst am: 07.11.2009, 10:50     Titel:
  Antworten mit Zitat      
Ah, klar. Da stand ja auch mpower, nicht mtimes in der Fehlermeldung. Aber ich denke, dass es ohnehin beides ist.

Grüße,
Harald
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 - 2024 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.