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

exakte Ausgabe

 

Bazzinga
Forum-Anfänger

Forum-Anfänger


Beiträge: 18
Anmeldedatum: 06.10.11
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 15.10.2011, 08:34     Titel: exakte Ausgabe
  Antworten mit Zitat      
Hallo liebe User,

eine kurze Frage:
Ich löse ein Gleichungssystem und erhalte als Lösung 0.8660 .
Ich möchte aber lieber das es mir anzeigt Wurzel(3)/2 .
Versteht ihr?
Wie geht das?

Viele liebe Grüße
Bazzinga
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: 15.10.2011, 09:22     Titel:
  Antworten mit Zitat      
Hallo,

dazu musst du die Symbolic Math Toolbox verwenden, z.B. so:

Code:
syms x
solve(4*x^2 - 3, x)


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

Forum-Anfänger

Forum-Anfänger


Beiträge: 18
Anmeldedatum: 06.10.11
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 15.10.2011, 09:37     Titel:
  Antworten mit Zitat      
Mh... okay danke mal.
Ich dachte man kann des irgendwie umformatieren, aber eig ist es ja auch klar das es nicht geht. Smile
Ich bedanke mich trotzdem für deine Antwort.
Symbolisch bringt mich aber nicht weiter, da ich meine Rechnung numerisch löse.
Nicht so schlimm, wäre nur ein Zuckerl gewesen Very Happy

Viele Grüße
Bazzinga
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: 15.10.2011, 11:07     Titel:
  Antworten mit Zitat      
Hallo,

wenn bei der numerischen Berechnung [ziemlich] genau sqrt(3)/2 herauskommt, dann kannst du das mit dem Befehl SYM umwandeln.

Code:


Bei numerischen Berechnungen kommt es aber oft zu Ungenauigkeiten, und wenn die zu groß werden, wird das nicht mehr erkannt.

Code:
sym(sqrt(3)/2 *(1+100*eps))


Wenn man exakte Ergebnisse haben will, sollte man meines Erachtens auch exakt rechnen.

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

Forum-Anfänger

Forum-Anfänger


Beiträge: 18
Anmeldedatum: 06.10.11
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 15.10.2011, 11:27     Titel:
  Antworten mit Zitat      
Ja das wäre genau das was ich will Smile
Ich habs numerisch und exakt gerechnet.
Aber es kommt nun eine Fehlermeldung die ich nicht ganz verstehe, bei der numerischen Lösung.

??? Error using ==> mupadinit at 35
Unable to initialize kernel

Error in ==> sym.sym>symr at 211
[S,err] = mupadmex(' ',9,x);

Error in ==> sym.sym at 116
S{k} = symr(double(x(k)));

Error in ==> loesung_num at 6
S11=sym( S1*(1+100*eps))

In S1 ist das numerische Ergebnis abgespeichert, wobei ich dazusagen muss, dass es eine Matrix mit 2 zeilen ist, also quassie S1(x/y).
Geht es unter diesem Umständen nicht?

Nochmals vielen Dank! Smile
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: 15.10.2011, 13:42     Titel:
  Antworten mit Zitat      
Hallo,

die Fehlermeldung deutet auf den ersten Blick auf ein Installations- oder Lizenzproblem hin.

Hast du meinen Beispiel-Code mal bei dir getestet?

Falls der Beispiel-Code bei dir fehlerfrei läuft, wäre es gut, wenn du den Code, der bei dir den Fehler verursacht, posten kannst (oder eine abgespeckte Version davon, die den Fehler verursach).

Das "1+100*eps" solltest du übrigens weglassen, das verfälscht das Ergebnis ja nur künstlich.

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

Forum-Anfänger

Forum-Anfänger


Beiträge: 18
Anmeldedatum: 06.10.11
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 15.10.2011, 16:50     Titel:
  Antworten mit Zitat      
Also ich habs jetzt mal so gemacht:
sym(sqrt(3)/2)

darauffolgte dann diese Fehlermeldung:

??? Error using ==> mupadinit at 35
Unable to initialize kernel

Error in ==> sym.sym>symr at 211
[S,err] = mupadmex(' ',9,x);

Error in ==> sym.sym at 116
S{k} = symr(double(x(k)));

Ich benutze die Matlab-Version R2008b.
Irgendwelche Ideen was da los sein könnte, es übersteigt leider mein Wissen um ein Vielfaches! Smile
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: 17.10.2011, 08:02     Titel:
  Antworten mit Zitat      
Hallo,

da konnte ich auch nur googeln. Es kann sein, dass dieser Bug Probleme macht:
http://www.mathworks.com/support/bugreports/523801
Grüße,
Harald
Private Nachricht senden Benutzer-Profile anzeigen
 
Bazzinga
Themenstarter

Forum-Anfänger

Forum-Anfänger


Beiträge: 18
Anmeldedatum: 06.10.11
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 18.10.2011, 07:38     Titel:
  Antworten mit Zitat      
Viele Dank Harald.
Ich versuche das Problem bei Zeiten mal genauer zu analisieren! Smile

Grüße
Bazzinga
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.