Hallo, ich wollte Fragen ob mir jemand ein Computerprogramm empfehlen kann, womit man diverse mathematische Funktionen analysieren kann. Z.B. -Gleichungen umstellen -Variablen aus einer Funktion Berechnen z.B. ln((55,9-C) / (80-C)) = 0,5 * ln((41,5-C) / (80-C)) Was ist C -Funktionen grafisch ausgeben -Integral berechnen. Also die Stammfunktion ausgeben, nicht das Ergebniss annähern. Habe schon per google gesucht aber noch nichts vielversprechendes gefunden.
Dafür kann man schön www.wolframalpha.com missbrauchen. Oder eben Programme wie Mathematica, Maple etc. Es geht auch Matlab mit entsprechenden Toolboxen.
Oder Opensource, etwa - GNU R (Statistik) - Octave (Algebra und son Zeugs) - Macsyma bzw. Maxima (Algebra)
so etwas wie ln((55,9-C) / (80-C)) = 0,5 * ln((41,5-C) / (80-C)) Was ist C? können meines wissenes weder - GNU R (Statistik) noch - Octave (Algebra und son Zeugs) Kann Maxima tatsächlich hier umstellen? Ich nutze für solche Gleichungsumstellungen und Lösung/Simulation der Differentialgleichungen die Modellierungssprache Modelica. OpenModelica ist eine freie/opensource Umgebung. http://www.modelica.org/ http://de.wikipedia.org/wiki/Modelica Viel Spass beim Ausprobieren.
Habe mir gerade mal Maxima (wxMaxima) herruntergeladen. Dort ist der log auch der ln ist das im Englischen so standart? Integral aus 1/x --> log(x) ln((55,9-C) / (80-C)) = 0,5 * ln((41,5-C) / (80-C)) Habe ich Gestern mit nem Freund zusammen per Hand gelöst. Deswegen suchte ich u.a. ein Programm um ein solches Ergebnis zu kontrollieren.
Das ist Standard. Wenn du "unseren" log zur Basis 10 haben willst, brauchst du die log10 -Funktion. Obiges Beispiel in wolframalpha:
1 | |
2 | ln((55.9-x)/(80-x))=0.5*ln((41.5-x)/(80-x)) |
Danke für die Vorschläge Ich muss sagen Wolfram|Alpha ist sehr interessant. Vor allem die grafische Darstellung beider Funktionen. Den Rest werde ich mir später genauer anschauen. Maxima kann, so wie ich es sehe die Funktion ln((55.9-x)/(80-x))=0.5*ln((41.5-x)/(80-x)) nicht umstellen. Kann auch sein, dass ich noch nicht weiß wie.
jetzt hatte ich etwas Zeit das Problem mal auszuprobieren es geht tatsächlich, wie ich vermutet habe. Trotzdem sollte man aufpassen, ob die nummerisch gefundene Lösung die einzigste ist.
1 | package equations |
2 | |
3 | import Modelica.Math.*; |
4 | |
5 | model X |
6 | Real x; |
7 | equation |
8 | log((55.9-x)/(80-x))=0.5*log((41.5-x)/(80-x)); |
9 | end X; |
10 | |
11 | end equations; |
um vielleicht ein anderes Beispiel zu zeigen damit war ich zB heute beschäftigt da ich faul war ein lineares System mit 3 Gleichungen 3 Unbekannten aufzulösen, habe ich es schnell eingetippt. das Gute an Modelica ist, man kann die Modelle weiter verfeinern, wenn man Lust dazu hat. Zum Beispiel könnte man Versorgungspannung als Parameter hinzufügen, bei deren Überschreitung vout in Sättigung geht. Also einen Limiter implementieren. Oder Widerstandsdrift in Abhängigkeit von Temperatur implementieren, die wiederum eine Funktion von u*i ist. Obwohl Spice wahrscheinlich genauere Ergebnisse liefert, sind Spicemodelle eine BlackBox. In Modelica lassen sich die Zusammenhänge schön explizit ausdrücken, ohne aber das man selber die Dinge danach nummerisch durchkauen muss. Die Formel für Verstärkung beim 2-Opamp Instrumentation Amplifier soll bestättigt werden. http://de.wikipedia.org/w/index.php?title=Datei:Instrumentation_Amplifier_2OpAmp.svg&filetimestamp=20090622125357
1 | package amplifier |
2 | |
3 | model ina |
4 | parameter Real R1(unit = "V/A") = 100; |
5 | parameter Real R2(unit = "V/A") = 200; |
6 | parameter Real Rgain(unit = "V/A") = 400; |
7 | input Real v1(unit = "V"); |
8 | input Real v2(unit = "V"); |
9 | output Real vout(unit = "V"); |
10 | Real vx(unit = "V"); |
11 | Real i(unit = "A"); |
12 | equation |
13 | (vout-v2)/R2 + (v1-v2)/Rgain + (vx-v2)/R1 = 0; |
14 | (v2-vx)/R1 + i + (v1-vx)/R1 = 0; |
15 | (0-v1)/R2 + (vx-v1)/R1 + (v2-v1)/Rgain = 0; |
16 | end ina; |
17 | |
18 | model ina_tb "instrumentation amplifier testbench" |
19 | Real v1; |
20 | Real v2; |
21 | Real vout; |
22 | ina amp(v1=v1, v2=v2, vout=vout); |
23 | equation |
24 | v1 = 1; |
25 | v2 = 3; |
26 | end ina_tb; |
27 | |
28 | end amplifier; |
Man sollte bei den zu lösenden Gleichungen zwischen analytisch lösbaren und nicht analytisch lösbaren unterscheiden. Für erstere empfiehlt sich Maple/Mathematica/Maxima. Für die anderen irgendwas Numerisches. Von Maple weiß ich, dass es das auch kann, Mathematica vermutlich auch. Allerdings sollte man mit diesen Programmen etwas vorsichtig sein. Meiner Erfahrung nach gibt es nur einen vernünftigen Anwendungsfall und zwar dann, wenn die Gleichungen so groß/lang/breit werden, dass man ewig daran per Hand beschäftig wäre. Gefährlich wird es dann, wenn man Gleichungen lösen lassen will, die man selbst nicht lösen kann, also keinen Ansatz findet. Das endet meist nicht gut. Mit ein bisschen Training bekommt man auch "komplexere" Gleichungen von Hand problemlos gelöst. Für die im Thread erwähnte Gleichung dauert ja das Öffnen und Eintippen in ein Programm schon länger als das Selbstlösen. Also lieber erst denken, dann tippen. ;-)
> Also lieber erst denken, dann tippen. ;-)
Genau meine Meinung!
Hab letztens auch schwer mit den CAS-Programmen gekämpft. Ging
eigentlich nur um ne recht triviale Op-Schaltung. Aber ich meinte, ich
müßte die Gleichung irgendwie mit MathCad & Co. lösen. Hat ewig
gedauert, bis ich das dann endlich drin hatte. Und dann hat das doofe
MathCad auch noch ganz abenteuerlich Lösungen ausgespuckt...
Noch schlimmer war's allerdings mit MATLAB...oweia... ;-)
Ergo:
Hirn einschalten und Bleistift in die Hand...wie die alten Römer ;-)
Nützlichr Nebeneffekt:
Als ich meine Op-Schaltung von Hand gelöst habe, hatte ich sogar noch
viel mehr über ihr Übertragungsverhalten gelernt, das mir diese
komischen Programme wohl eher verschwiegen hätten!
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.