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

Widerspruch MuPAD mit von Hand berechnung

 

Hunk
Forum-Anfänger

Forum-Anfänger


Beiträge: 20
Anmeldedatum: 25.09.12
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 05.12.2012, 10:01     Titel: Widerspruch MuPAD mit von Hand berechnung
  Antworten mit Zitat      
Guten Tag,

ich hab die Gleichung

y= a*cos(x) - b*sin(x)-c

und möchte von dieser das Maximum bestimmen abhängig von den Parametern a,b,c

Wenn ich das von Hand mache kann ich es ableiten

y' = -a sin(x) - b cos(x) = 0

darais folgt durch wenn man durch cos teilt. Ist erlaubt für cos(x) ungleich null. Die Fälle muss man extra betrachten.

tan(x) = -b/a

so weit so gut

nun geb ich das in MUPAD ein
Code:

f:= a*cos(x)-b*sin(x)-c
g:=diff(f,x)
solve(g=0,x=0..PI)
 




nun bekommt MuPAD iwas mit imaginäranteil heraus. Ich versteh das Ergebnis überhaupt nicht. Worin besteht mein Denkfehler? Etwas falsch in Mupad eingegeben oder beim Hand rechnen
Private Nachricht senden Benutzer-Profile anzeigen


Hunk
Themenstarter

Forum-Anfänger

Forum-Anfänger


Beiträge: 20
Anmeldedatum: 25.09.12
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 05.12.2012, 10:57     Titel:
  Antworten mit Zitat      
hab nun noch eine ergänzung bzw eine zweite Frage

hab es nun von Hand durchgerechnet

y:=-(R+b)*sin(atan(-c/(R+b)))+c*cos(atan(-c/(R+b)))

das bekomm ich für das y max nun raus.

Nun will ich das nach R auflösen weil das mein interessanter Parameter ist

wieder eingegeben.

P.s. variablen x=b und y=c

Code:

h:=-(R+x)*sin(atan(-y/(R+x)))+y*cos(atan(-y/(R+x)))
solve(h,R)
 


als ausgabe gibt er mir nur nochmals den solvebefehl mit allem eingesetzt aber keine Lösung...
Private Nachricht senden Benutzer-Profile anzeigen
 
MaFam
Forum-Meister

Forum-Meister


Beiträge: 799
Anmeldedatum: 02.05.12
Wohnort: ---
Version: R2009b
     Beitrag Verfasst am: 06.12.2012, 13:27     Titel:
  Antworten mit Zitat      
Hallo,

zur ersten Frage. Da gibt es keinen Unterschied. Trigonometrische Funktionen lasse sich durch die Eulersche Identität immer mit komplexen Funktion darstellen.

Ich würde eher bei der Lösung a!=0, a^2+b^2!=0, x = pi*n - tan^(-1)(b/a), n aus IZ bleiben.

Grüße, Marc
Private Nachricht senden Benutzer-Profile anzeigen
 
Hunk
Themenstarter

Forum-Anfänger

Forum-Anfänger


Beiträge: 20
Anmeldedatum: 25.09.12
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 07.12.2012, 08:22     Titel:
  Antworten mit Zitat      
danke erstmal für die antwort

ja ich dachte mir dass man das inneinander überführen kann auch wenn ich die darstellung sehr kompliziert ist.

Kann ich Mupad iwie sagen das er mir eine trigometrische Funktion angeben soll und nicht den komplexen Ausdruck dazu? Ich müsste dies doch so einschränken können oder?

Und jemand ne idee zum solve ? Wieso Matlab das nicht macht?
Private Nachricht senden Benutzer-Profile anzeigen
 
MaFam
Forum-Meister

Forum-Meister


Beiträge: 799
Anmeldedatum: 02.05.12
Wohnort: ---
Version: R2009b
     Beitrag Verfasst am: 07.12.2012, 08:50     Titel:
  Antworten mit Zitat      
Hunk hat Folgendes geschrieben:

Kann ich Mupad iwie sagen das er mir eine trigometrische Funktion angeben soll und nicht den komplexen Ausdruck dazu? Ich müsste dies doch so einschränken können oder?

Dazu kann ich leider nichts sagen. Meine Erfahrung mit Mupad ist quasi 0.

Hunk hat Folgendes geschrieben:

Und jemand ne idee zum solve ? Wieso Matlab das nicht macht?


Hast du auch mit symbolischen Ausdrücken gearbeitet?

Ansonsten siehe hier (ganzen Ausdruck kopieren): http://www.wolframalpha.com/input/?.....y%2F%28R%2Bx%29%29%29%3Dh

Es gibt eine wesentliche Vereinfachung wegen cos(atan) und sin(atan).
Private Nachricht senden Benutzer-Profile anzeigen
 
Hunk
Themenstarter

Forum-Anfänger

Forum-Anfänger


Beiträge: 20
Anmeldedatum: 25.09.12
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 07.12.2012, 08:58     Titel:
  Antworten mit Zitat      
vielen dank die vereinfach ist enorm! Sowas hab ich gesucht

Sowas müsste doch aber auch matlab können oder?
Private Nachricht senden Benutzer-Profile anzeigen
 
MaFam
Forum-Meister

Forum-Meister


Beiträge: 799
Anmeldedatum: 02.05.12
Wohnort: ---
Version: R2009b
     Beitrag Verfasst am: 07.12.2012, 09:45     Titel:
  Antworten mit Zitat      
Ich schaue heute Abend mal, was die Sym. Toolbox dazu sagt. Ich habe leider kein Matlab hier.
Private Nachricht senden Benutzer-Profile anzeigen
 
Hunk
Themenstarter

Forum-Anfänger

Forum-Anfänger


Beiträge: 20
Anmeldedatum: 25.09.12
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 07.12.2012, 10:36     Titel:
  Antworten mit Zitat      
Also die Lösung für das erste Problem ist


S intersect Dom::Interval(0, PI)

solve(g=0,x=0..PI,Real)

Dadurch gibt er nur die Real Werte raus. Und es passt.

------

Nun besteht nur noch das Problem mit der Gleichung die du mit Wolfram gelöst hast.

Code:

h:=-(R+x)*sin(atan(-y/(R+x)))+y*cos(atan(-y/(R+x)))

solve(h,R)

Simplify(h,Steps=10000)
 


Bei beiden Befehlen gibt er mir nur meine Eingabefunktion zurück. Ich hab verschiedene Funktionen etc Probiert auch aus den Beispielen, aber leider habe ich dazu keine passende gefunden.
Private Nachricht senden Benutzer-Profile anzeigen
 
MaFam
Forum-Meister

Forum-Meister


Beiträge: 799
Anmeldedatum: 02.05.12
Wohnort: ---
Version: R2009b
     Beitrag Verfasst am: 07.12.2012, 19:49     Titel:
  Antworten mit Zitat      
Also das funktioniert bei mir wunderbar:

Code:

clc
syms h R x y
eq=-h-(R+x)*sin(atan(-y/(R+x)))+y*cos(atan(-y/(R+x)))
solve(eq,R)
 
Private Nachricht senden Benutzer-Profile anzeigen
 
Hunk
Themenstarter

Forum-Anfänger

Forum-Anfänger


Beiträge: 20
Anmeldedatum: 25.09.12
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 07.12.2012, 20:11     Titel:
  Antworten mit Zitat      
im ernst ?

ich machs immer in Mupad habs noch nie im normalen Matlab probiert...

in Mupad bekomm ich nichts raus ...

gleich mal testen
Private Nachricht senden Benutzer-Profile anzeigen
 
Hunk
Themenstarter

Forum-Anfänger

Forum-Anfänger


Beiträge: 20
Anmeldedatum: 25.09.12
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 10.12.2012, 12:10     Titel:
  Antworten mit Zitat      
Nun wird es lustig.

Ich geb es so wie du in Matlab ein. Alles kein Problem.

Nun versuch ich jedoch MuPAD
Code:

eq:=-h-(R+x)*sin(atan(-y/(R+x)))+y*cos(atan(-y/(R+x)))
solve(eq,R)

 


macht er nix.

Ich versteh die Welt nicht. Hat da noch jemand ne Idee?
Private Nachricht senden Benutzer-Profile anzeigen
 
MaFam
Forum-Meister

Forum-Meister


Beiträge: 799
Anmeldedatum: 02.05.12
Wohnort: ---
Version: R2009b
     Beitrag Verfasst am: 10.12.2012, 13:00     Titel:
  Antworten mit Zitat      
Also, wie gesagt, ich kenne mich mit MuPad nicht aus. Musst du MuPad denn unbedingt verwenden?
Private Nachricht senden Benutzer-Profile anzeigen
 
Hunk
Themenstarter

Forum-Anfänger

Forum-Anfänger


Beiträge: 20
Anmeldedatum: 25.09.12
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 10.12.2012, 13:10     Titel:
  Antworten mit Zitat      
Mupad ist ja nur der Editor von der Symbolic Toolbox

vorteil da ist eben das die Ausgabe etc besser dargestellt wird und man den ganzen Code auch direkt in Latex importieren kann.

Dem zu Folge würde ich schon gerne Mupad verwenden. Werde es aber noch ein weilchen austesten und vlt auch an den Matlab support schreiben. Vielleicht haben die dann eine idee.
Private Nachricht senden Benutzer-Profile anzeigen
 
MaFam
Forum-Meister

Forum-Meister


Beiträge: 799
Anmeldedatum: 02.05.12
Wohnort: ---
Version: R2009b
     Beitrag Verfasst am: 10.12.2012, 13:35     Titel:
  Antworten mit Zitat      
Der Satz "The MuPAD engine serves as the foundation of Symbolic Math Toolbox, whose notebook interface provides access to the complete MuPAD language." klingt mir aber nicht danach, dass MuPAD bloß der Editor ist. Welche Matlab-Version benutzt du eigentlich?
Private Nachricht senden Benutzer-Profile anzeigen
 
Hunk
Themenstarter

Forum-Anfänger

Forum-Anfänger


Beiträge: 20
Anmeldedatum: 25.09.12
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 10.12.2012, 14:17     Titel:
  Antworten mit Zitat      
die aktuelle R2012b

für einfach Beispiele funktioniert es ja auch so.

Nur für dieses leider nicht. Und für den solve befehl müsste doch eigentlich im Hindergrund der gleiche Algorithmus ablaufen oder?
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.