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

Format Funktion funktioniert nicht

 

andiMat1001
Forum-Anfänger

Forum-Anfänger


Beiträge: 10
Anmeldedatum: 15.03.14
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 15.03.2014, 14:52     Titel: Format Funktion funktioniert nicht
  Antworten mit Zitat      
Hallo,

Habe eine Funktion berechnet.
Folgendes Ergebnis wurde ausgegeben:
d =
1847351001^(1/2)/80000 + 72731/80000
72731/80000 - 1847351001^(1/2)/80000

Wieso rechnet Matlab die Werte nicht aus? Auch mit "format short" oder "format compat" ändert sich nichts. Was mache ich falsch. Ich möchte generell da Ergebnis als Dezimalzahl ausgeben lassen.
Private Nachricht senden Benutzer-Profile anzeigen


Harald
Forum-Meister

Forum-Meister


Beiträge: 24.501
Anmeldedatum: 26.03.09
Wohnort: Nähe München
Version: ab 2017b
     Beitrag Verfasst am: 15.03.2014, 15:26     Titel:
  Antworten mit Zitat      
Hallo,
Zitat:

Habe eine Funktion berechnet.
Folgendes Ergebnis wurde ausgegeben:

Dann fehlt nur noch die Information, wie diese Ergebnis zustandekommt.

Meine Vermutung ist, dass dies das Ergebnis einer symbolischen Berechnung ist. Dann können double oder eval hilfreich sein.

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

Forum-Anfänger

Forum-Anfänger


Beiträge: 10
Anmeldedatum: 15.03.14
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 15.03.2014, 15:54     Titel:
  Antworten mit Zitat      
Hallo Harald,

wenn ich beispielsweise

y=0.058*x+a eingebe und Enter drücke schreibt Matlab

y=a + (29*x)/500

Warum?
(y, x, a sind Variablen)

_______________
Wie genau muss die Angabe lauten, dass meine Variable als double oder eval ausgegeben wird?
"format double" funktioniert nicht.

Ich kenne mich leider noch nicht so genau aus mit Matlab. Ich fange gerade erst an es zu lernen.

Grüße
Andi
Private Nachricht senden Benutzer-Profile anzeigen
 
Harald
Forum-Meister

Forum-Meister


Beiträge: 24.501
Anmeldedatum: 26.03.09
Wohnort: Nähe München
Version: ab 2017b
     Beitrag Verfasst am: 15.03.2014, 16:13     Titel:
  Antworten mit Zitat      
Hallo,

bitte komplett reproduzierbare Befehle angeben und Rückfragen beantworten.

Zitat:
Warum?

Warum nicht? Die Schreibweisen sind äquivalent.

Zitat:
"format double" funktioniert nicht.

Das ist kein Wunder und war auch nicht mein Vorschlag. Mein Vorschlag war, double oder eval für sich genommen zu verwenden.

Zitat:
Ich kenne mich leider noch nicht so genau aus mit Matlab. Ich fange gerade erst an es zu lernen.

Gerade dann sollte man sich aber schon die Mühe machen, die Dokumentation zu den vorgeschlagenen Befehlen zu lesen, z.B.
Code:


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

Forum-Anfänger

Forum-Anfänger


Beiträge: 10
Anmeldedatum: 15.03.14
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 16.03.2014, 18:26     Titel:
  Antworten mit Zitat      
Hallo Harald,

hier ein Beispiel

a=0.0057;
b=1;
c=2.128;
syms g d

g=-1/(d-a)-1/(d-b)-2/(d-c)
d=solve(g==0,d);
d=double(d)

Nun wird das Ergebnis als Dezimalzahl angezeigt. Irgendwie umständlich. Geht es auch anders. Zudem wird die Gleichung g wieder mit Brüchen ausgegeben. Wie kann ich das verhindern?

Grüße
Andi
Private Nachricht senden Benutzer-Profile anzeigen
 
Harald
Forum-Meister

Forum-Meister


Beiträge: 24.501
Anmeldedatum: 26.03.09
Wohnort: Nähe München
Version: ab 2017b
     Beitrag Verfasst am: 16.03.2014, 18:43     Titel:
  Antworten mit Zitat      
Hallo,

was genau ist dir daran zu umständlich?

Alternativ zur symbolischen Lösung einer Gleichung und dem Einsetzen eines Werts kannst du Gleichungen auch direkt numerisch lösen, z.B. mit fsolve oder fzero.

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

Forum-Anfänger

Forum-Anfänger


Beiträge: 10
Anmeldedatum: 15.03.14
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 18.03.2014, 00:25     Titel:
  Antworten mit Zitat      
Hallo Harald,

Beispielsweise habe ich diese Übertragungsfunktion:


0.16
G= -------------------------------------------
s^4 + 4.75 s^3 + 3.125 s^2 + 0.5 s


Dann möchte ich mir den Nenner alleine anzeigen lassen, dann schreibt Matlab:

den= s^4 + (19*s^3)/4 + (25*s^2)/8 + s/2

Toll, dann rechne ich von Hand 19/4 und 25/8, damit ich sehe, dass es das selbe Polynom wie in der Übertragungsfunktion ist.

Ich möchte immer Dezimalzahlen angezeigt bekommen.
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.