Gleichung mit wxMaxima auflösen

Neue Frage »

randix Auf diesen Beitrag antworten »
Gleichung mit wxMaxima auflösen
Moin, kannmir jemand bitte sagen wie ich in wxMaxima also mit welchem Befehl, eine gegebene Funktion g(t) in die Form 0=.... bringen kann
, also das alles auf einer Seite steht?

linSolve funktioniert irgendwie nicht, da man mit diesem Befehl doch lediglich nach der Variable i umformen kann aber ich will ebend nach ,,0"umformen, ..
hawe Auf diesen Beitrag antworten »
RE: Gleichung mit wxMaxima auflösen
hm,
function?
g(t)=0
gleichung?
rhs() rigthside
lhs() leftside
lhs(g)-rhs(g)=0
Nachtrag zu finn‘s antwort
=0 kann unterbleiben, wird automatisch ergänzt wenn nicht angegeben...
Finn_ Auf diesen Beitrag antworten »

Man schreibt eigentlich einfach "0=g(t)", einer Umformung bedarf es dafür nicht.

code:
1:
2:
3:
4:
5:
6:
(%i1) g(t) := t^2 + 2*t - 4;
                                      2
(%o1)                        g(t) := t  + 2 t - 4
(%i2) solve(0=g(t),t);
(%o2)               [t = (- sqrt(5)) - 1, t = sqrt(5) - 1]
randix Auf diesen Beitrag antworten »

Also es geht um folgendes. Ich habe zwei DGLn gegeben und nun ist folgendes gefordert


Anschließend werden die DGL's auf die Standardform
0=h(q[1],q[2],d(q[1],t),d(q[2],t),d(q[1],t$2),d(q[2],t$2))
gebracht, hier also alles auf einer Seite sammeln:

dgl1(t) := ; /*hier Formel einfügen*/;
dgl1(t);

dgl2(t) := ; /*hier Formel einfügen*/;
dgl2(t);

Meine zuvorherigen bestimmten DGLn lauten dgl_1(t); und dgl_2(t);

Also würde

dgl1(t) := solve(0=dgl_1(t),t) ; /*hier Formel einfügen*/;

bzw

dgl2(t) := solve(0=dgl_2(t),t) ; /*hier Formel einfügen*/;

reichen ?

solve(0=g(t),t);
hawe Auf diesen Beitrag antworten »

du kannst einer function keine gleichung zuweisen wie

dgl1(t) := solve(0=dgl_1(t),tk

wenn überhaupt

dgl1(t) :=rhs( solve(dgl_1(t),t))

aber wenn nach t aufgelöst, wie kann dann die funktion in dgl((t) lauten?
randix Auf diesen Beitrag antworten »

dgl_1 und dgl_2 sind beides Bewegungsgleichungen bzw. Differentialgleichungen, welche mit der Lagrange Mechanik hergeleitet wurden sind. Nun soll ich alles auf eine Seite bringen.

Also verstehe nicht ganz was du mit


,, aber wenn nach t aufgelöst, wie kann dann die funktion in dgl((t) lauten? " meinst ...

Kann man also dgl1(t) :=rhs( solve(dgl_1(t),t)) nutzen ?
 
 
hawe Auf diesen Beitrag antworten »

das kannst du ja maxima selbst fragen.
vielleicht solltest du die dgl. betreffenden möglichkeiten ode2 uä. erstmal nachlesen.

wenn ich eine gleichung nach t umstelle ist normalerweise kein t mehr da, das eine funktion bilden könnte. wie das bei einer dgl konkret aussehen könnte, dazu hab ich zuwenig erfahrung mit dgl’en....
randix Auf diesen Beitrag antworten »

bekomme es einfach nicht hin. Das Problem ist wenn ich

dgl_1(t); ausgeben kommt bereist eine Gleichung der Form
f(x,y,z)=0

Wie bitte stellt man dan alles auf eine Seite damit man auf dgl1(t) landet obwohl die Ausgabe dgl_1(t) bereits alles auf einer Seite hat.

Bitte um Aufklärung
hawe Auf diesen Beitrag antworten »

Es ist mir nicht klar was Du machen willst.
Du solltest die komplette Aufgabe einstellen ===> neue Anfrage
so wird das nix, sonst hätte jemand deinen Weg aufgegriffen unabhängig davon ob Dein Problem mathematischer Art ist oder mit wxMaxima zusammenhängt.
Finn_ Auf diesen Beitrag antworten »

Ein wenig Frickelei.

code:
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
EulerLagrange_eq(L,n) := makelist(
    substitute([x[i] = x[i](t), v[i] = diff(x[i](t),t)],
        0 = diff(L(x,v,t),x[i]) - 'diff(diff(L(x,v,t),v[i]),t)
    ),
i,1,n)$

solve_EulerLagrange_eq(L,n,x,v) := block([eq],
    eq: EulerLagrange_eq(L,n),
    eq: ev(eq,diff),
    eq: substitute(makelist(diff(x[i](t),t,2) = d2x[i],i,1,n),eq),
    eq: solve(eq,makelist(d2x[i],i,1,n))[1],
    eq: substitute(makelist(d2x[i] = diff(x[i](t),t,2),i,1,n),eq),
    desolve(eq,makelist(x[i](t),i,1,n))
)$


L(x,v,t) := 1/2*m*(v[1]^2+v[2]^2) - m*g*x[2];

solve_EulerLagrange_eq(L,2,x,v);

Dieses Programm wird geöffnet mit:

code:
1:
maxima -q -b=Datei.mac

Ausgabe:

code:
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
                            !
                  d         !
(%o5) [x (t) = t (-- (x (t))!     ) + x (0), 
        1         dt   1    !          1
                            !t = 0
                                                        !            2
                                              d         !         g t
                                   x (t) = t (-- (x (t))!     ) - ---- + x (0)]
                                    2         dt   2    !          2      2
                                                        !t = 0

Die Ausgabe von Zwischenschritten ist möglich, indem das entsprechende Dollarzeichen gegen ein Semikolon ersetzt wird und der Befehl print(expr) eingefügt wird. Hierbei ist expr der Ausdruck, dessen Ausgabe man wünscht.
Neue Frage »
Antworten »



Verwandte Themen

Die Beliebtesten »
Die Größten »
Die Neuesten »