Andere ausgabe des Ergebnisses < Matlab < Mathe-Software < Mathe < Vorhilfe
|
Status: |
(Frage) beantwortet | Datum: | 21:03 Sa 14.07.2007 | Autor: | fenster3 |
Hallo ich habe mir eine kleines M-file geschrieben in dem ein Integrall gelöst wird. Nun wird mir der wert der berechnug immer als großer bruch *pi usw. angezeigt das ist sehr umstädlich da ich den direkten zahlenwert haben möchte.
Gibt es da einen befehl der mir das ergebniss direkt als zahlenwert ausgibt?
Hier mal mein M-file
syms t;
u=325;
[mm] f1=(u*sin(t))^2; [/mm]
int1=int(f1,t,0,2*pi)
U_eff=sqrt(1/(2*pi)*int1)
Matlab Ergebniss: 3575/268435456*94779522962358^(1/2)*pi^(1/2)
Gewünschtes Ergebniss: 229.8097
|
|
|
|
Status: |
(Antwort) fertig | Datum: | 23:03 Sa 14.07.2007 | Autor: | clwoe |
Hi,
geb mal nachdem du deine Variable U_eff berechnen hast lassen in die nächste Befehlszeile ein:
rat(U_eff)
Dann müsste er das Ergebnis als Dezimalzahl ausgeben. Allerdings natürlich gerundet. Auf wieviele Stellen genau weiß ich allerdings nicht.
Gruß,
clwoe
|
|
|
|
|
Status: |
(Frage) beantwortet | Datum: | 12:14 So 15.07.2007 | Autor: | fenster3 |
hm geht nicht bekomm immer fehlermeldung
??? Function 'isfinite' is not defined for values of class 'sym'.
Error in ==> rat at 58
tol = 1.e-6*norm(X(isfinite(X)),1);
Error in ==> Effektivwerte at 12
rat(U_eff)
|
|
|
|
|
Status: |
(Mitteilung) Reaktion unnötig | Datum: | 20:54 So 15.07.2007 | Autor: | clwoe |
Hi,
ich habe mich getäuscht mit meiner Antwort. Du musst vorher den Befehl
format "short" eingeben bevor du dein Ergebnis ausgibst. Allerdings alles ohne Anführungszeichen sondern einfach eine leertaste dazwischen.
Freu dich allerdings nicht zu früh, denn es funktioniert bei mir auch nicht. Er gibt immer dein gepostetes Ergebnis aus, warum weiß ich nicht. Ich habe nun schon mehreres probiert, aber er gibt immer wieder das gleiche Format aus.
Sorry, im Moment fällt mir allerdings nichts anderes ein. In meinem Skript steht leider nur dieser Befehl und eigentlich müsste es funktionieren.
Sorry und Gruß,
clwoe
|
|
|
|
|
Hallo,
für symbolische variablen kann man natürlich keine (formatierenden) funktionen anwenden, die für reelle zahlen verwendung finden. Aber eine Lösung gibt es denoch, die funktion vpa
R = vpa(A) uses variable-precision arithmetic (VPA)
to compute each element of A to d decimal
digits of accuracy, where d is the current setting of digits.
Each element of the result is a symbolic expression.
%MatlabCode
vpa(U_eff,7)
%MatlabCode
ans =
229.8097
regards
funtaonice
|
|
|
|
|
Status: |
(Mitteilung) Reaktion unnötig | Datum: | 17:05 Di 17.07.2007 | Autor: | fenster3 |
Ah vielen dank.
|
|
|
|