Mathematica-pomoč
-
- Prispevkov: 13
- Pridružen: 12.6.2008 20:04
Mathematica-pomoč
Pozdravljeni. Nujno bi prosil za pomoč glede programa Mathematica. Poskusil sem naloge reševati s pomočjo funkcij vgrajenih v math. vendar mi ni uspelo. Prvo sem uspel rešit s pomočjo funkcije Plot ter Intersection ampak nisem dobil pravilnega rezultata. hvala
attachment=0]Screenshot.png[/attachment]
attachment=0]Screenshot.png[/attachment]
Re: Mathematica-pomoč
Ne bo ti kar ven vrglo rezultata, moras vedeti kaj pocnes. Zloraba grafov je brezvezna. Poglej si
FindRoot
FindRoot
-
- Prispevkov: 13
- Pridružen: 12.6.2008 20:04
Re: Mathematica-pomoč
Ali bi mi lahko prosim namignil kako bi rešil te naloge v mathematici?
Imam nekaj zapiskov ampak ne uspem sklepat iz rešenih nalog kako bi uporabil te funkcije na drug način .
Imam nekaj zapiskov ampak ne uspem sklepat iz rešenih nalog kako bi uporabil te funkcije na drug način .
Re: Mathematica-pomoč
No, namignil... saj je samo prepis naloge po stavkih.
Prva:
Druga:
Tretja:
Prva:
Koda: Izberi vse
f[x_]=Sin[2x]x^2+0.1
FindRoot[f[x]==x,{x,0}]
Koda: Izberi vse
g[x_]=Exp[-x]x^2 Sin[x]^2
a=2;
k=-1/g'[a]
Solve[{(y-g[a])==k(x-a),y==0},x]
Koda: Izberi vse
h[x_]=Exp[-x/2]Sin[x]^2
tab=Table[{0.1i,h[0.1i]},{i,1,5}]
s=Fit[tab,{1,x,x^2},x]
Max[x/.Solve[s==0,x]]
Re: Mathematica-pomoč
Pozdraljeni! Imam eno vprašanje glede mathematice in bom izkoristil že odprto temo. Problem: Imam sistem diferencialnih enačb prvega reda, kar rešujem s pomočjo funkcije NDSolve, kjer poleg sistem enačb podaš tudi začetne pogoje. Težava nastane, ker moram v diferencialnih enačbah izračnati tudi integral, npr.
\(\dot{x} = v\)
\(\dot{v} = \ldots + \iiint f(a,b,c,x)da\,db\,dc}\).
Preden torej rešujem sistem, moram izračunati integral (numerično), v katerem potrebujem prejšnjo izračunano vrednost x. Zgolj napisati NDSolve ni dovolj. Zanima me torej, kako bi vrednosti x pod integralom vsakič znova pripisal prejšnjo vrednost, da bi lahko izračunal integral in nato rešil sistem? Program uporabljam prvič, zato mogoče razmišljam v napačni smeri...
\(\dot{x} = v\)
\(\dot{v} = \ldots + \iiint f(a,b,c,x)da\,db\,dc}\).
Preden torej rešujem sistem, moram izračunati integral (numerično), v katerem potrebujem prejšnjo izračunano vrednost x. Zgolj napisati NDSolve ni dovolj. Zanima me torej, kako bi vrednosti x pod integralom vsakič znova pripisal prejšnjo vrednost, da bi lahko izračunal integral in nato rešil sistem? Program uporabljam prvič, zato mogoče razmišljam v napačni smeri...
Re: Mathematica-pomoč
Kot vedno, ni finta v programu (tam samo realiziras to kar hoces naredit). Ti tukajle dokaj strasis s tem integralom. Ce bi bil tudi v mejah x ali bi bil integral po x, bi imel tezave (to sploh ne bi bila vec diferencialna enacba). Ce je pa samo tako kot si napisal, je pa desna stran enostavno nova funkcija
\(F(x)=\iiint f(a,b,c,x){\rm\,d}a{\rm\,d}b{\rm\,d}c\)
ki jo v Mathematici definiras zunaj (magari z NIntegrate). Torej ni vse skupaj nic drugace kot bi imel tam sinus, samo da si funkcijo sam definiral. NDSolve bo ze poskrbel, da bo integriral pravilno - v taki obliki je sistem cisto obicajen prvega reda in ga lahko resis z metodo Runge-Kutta tudi brez NDSolve
\(F(x)=\iiint f(a,b,c,x){\rm\,d}a{\rm\,d}b{\rm\,d}c\)
ki jo v Mathematici definiras zunaj (magari z NIntegrate). Torej ni vse skupaj nic drugace kot bi imel tam sinus, samo da si funkcijo sam definiral. NDSolve bo ze poskrbel, da bo integriral pravilno - v taki obliki je sistem cisto obicajen prvega reda in ga lahko resis z metodo Runge-Kutta tudi brez NDSolve
-
- Prispevkov: 13
- Pridružen: 12.6.2008 20:04
Re: Mathematica-pomoč
Kako bi pa rešil zadnjo nalogo, uporabljal sem funkcije DSolve NDSolve, ne uspem rešit naloge.
S katerim načinom bi pa recimo najlažje poiskal tangento na funkcijo, eksponentno ali parametrično podano?
S katerim načinom bi pa recimo najlažje poiskal tangento na funkcijo, eksponentno ali parametrično podano?
Re: Mathematica-pomoč
Hvala za odgovor. Mogoče nisem bil dovolj jasen. Vem, da v samem integralu ni problema. Je pa težava v tem, da mi mathematica vsakokrat, ko poženem kernel, poroča o nedefiniranem simbolu v integralu in (sem preveril) gre za ta x. Torej, v zapisu
očitno nekaj ni v redu. Sem tu naredil kakšno napako?
Koda: Izberi vse
NDSolve[{x'[t] == v[t], v'[t] == F[x[t]], x[0]==..., v[0]==...}, {x,v}, ...]
Re: Mathematica-pomoč
Kvecjemu v integralu ni definiran. Ce reces NIntegrate pricakuje, da so vsi parametri stevilke (ne more numericno integrirat ce je x notri). Zato moras funkcijo F definirati z zakasnjeno evaluacijo (da izracuna sele ko jo poklices). Torej:prog napisal/-a:Hvala za odgovor. Mogoče nisem bil dovolj jasen. Vem, da v samem integralu ni problema. Je pa težava v tem, da mi mathematica vsakokrat, ko poženem kernel, poroča o nedefiniranem simbolu v integralu in (sem preveril) gre za ta x. Torej, v zapisu
očitno nekaj ni v redu. Sem tu naredil kakšno napako?Koda: Izberi vse
NDSolve[{x'[t] == v[t], v'[t] == F[x[t]], x[0]==..., v[0]==...}, {x,v}, ...]
Koda: Izberi vse
F[x_]:=NIntegrate[...]
Eksponentno? Ja parametricno je enostavno: smerni vektor tangente je kar odvod, torej imas samo D[x[t],t] in D[y[t],t]. Iz tega bos pa ze znal sestavit enacbo tangente.andrija1987 napisal/-a:Kako bi pa rešil zadnjo nalogo, uporabljal sem funkcije DSolve NDSolve, ne uspem rešit naloge.
S katerim načinom bi pa recimo najlažje poiskal tangento na funkcijo, eksponentno ali parametrično podano?
Zadnja naloga: lahko kar DSolve (First je tam zato, ker dobis ven array in moras odstranit {}).
Koda: Izberi vse
s[x_] = First[y[x] /.DSolve[{y'[x] - 9 y[x]^2/8 == x, y[3] == -8/3}, y[x], x]]
Koda: Izberi vse
y0=Limit[s[x], x -> 0]
Koda: Izberi vse
N[y0]
Re: Mathematica-pomoč
Lp!
Rad bi narisal krivuljo skozi točke, ki jih podam z dvema funkcijama.
Ti(f(x),g(x))
Mi lahko kdo pove kako bi to naredil v mathematici.
Hvala!
Rad bi narisal krivuljo skozi točke, ki jih podam z dvema funkcijama.
Ti(f(x),g(x))
Mi lahko kdo pove kako bi to naredil v mathematici.
Hvala!
Re: Mathematica-pomoč
Ce mislis parametricno krivuljo, pol (recimo...)
Koda: Izberi vse
ParametricPlot[{x[t],y[t]},{t,-1,1}]
Re: Mathematica-pomoč
Imam seznam točk. Gre za 3D primer in te točke bi sedaj rad prikazal na 3d grafu in jih med seboj povezal s črtami. Tega s črtami mi nikakor ne uspe doseči. Uporabil sem funkcijo ListPointPlot3D (se mogoče da točke s seznama prikazati še z drugo funkcijo?), katera pa v nasprotju z 2d sorodno ListPlot nima možnosti ListLinePlot. Predlog?