Forum » Programiranje » [Mathematica 8] Transformacija homogenega sistema enačb v matriko
[Mathematica 8] Transformacija homogenega sistema enačb v matriko
alexa-lol ::
hej mene zanima kako, s katero funkcijo, bi transformiral homogen sistem enačb v matriko. Gre za to, da imam "velike" sisteme (cca 20x20 - 30x30) in enačbe pri katerih v posamezni enačbi nastopajo vedno le 3 spremenljivke. Sistem lahko rešim s Solve[x+y==0 && x-y==0, {x,y}] a bi želel imeti v obliki matrike. Sistem enačb je homogen in gre samo za to, da dobim ven rang oz. determinanto.
Ima kdo idejo. V osnovi lahko tudi v VB.NET napišem program ampak me zanima če ima Mathematica (oz. ker drug program) kaj takega vgrajeno.
Hvala in lp
Ima kdo idejo. V osnovi lahko tudi v VB.NET napišem program ampak me zanima če ima Mathematica (oz. ker drug program) kaj takega vgrajeno.
Hvala in lp
alexa-lol ::
ja imam podane enacbe in zelim to spremeniti v ustrezno matriko.
Vse enacbe so sestavljene iz max 3 spremenljivk.
Ugotavljam ali je konstrukcija stabilna oz. labilna in za vsako togo telo in pa podpore ter vezi napisem kinematične enačbe.
Any idea? Lp
Vse enacbe so sestavljene iz max 3 spremenljivk.
Ugotavljam ali je konstrukcija stabilna oz. labilna in za vsako togo telo in pa podpore ter vezi napisem kinematične enačbe.
Any idea? Lp
overlord_tm ::
A nima Mathematica 8 ze vgrajen natural language input recognition (tako kot wolfram)? Bo ze sama poskrbela da se stvar da v matriko in resi. Drugace pa poglej funkcijo CoefficientList.
alexa-lol ::
Hval za odgovore a sem našel boljšo rešitev
CoefficientArrays[{x - y - z == 0, x + 2 y + z == 0}, {x, y, z}]
Normal[%]
potem pa izbereš koeficiente (iz outputa) in daš MatrixRank ali Det.
Output je oblike {{nekaj}, {koeficienti v obliki matrike}}. Je možno kako povedati, da želiš le 2 element "polja", recimo %[1], kaj takega.
Hvala in lp
CoefficientArrays[{x - y - z == 0, x + 2 y + z == 0}, {x, y, z}]
Normal[%]
potem pa izbereš koeficiente (iz outputa) in daš MatrixRank ali Det.
Output je oblike {{nekaj}, {koeficienti v obliki matrike}}. Je možno kako povedati, da želiš le 2 element "polja", recimo %[1], kaj takega.
Hvala in lp
sherman ::
Last[%]ce hoces zadnji del.
Drugace dostopas do delov izrazov z izraz[[indeks]], torej dva oklepaja.
Zgodovina sprememb…
- spremenilo: sherman ()
alexa-lol ::
thanks
this does the job
this does the job
MatrixRank[Last[Normal[CoefficientArrays[{x - y - z == 0, x + 2 y + z == 0}, {x, y, z}]]]]
alexa-lol ::
Evo končno sem lahko naredil kar sem želel... npr. imamo konstrukcijo
Podpore (drsna podpora) dopuščajo pomik s smeri koordinatne osi x in preprečujejo pomike v smeri koordinatne osi z in zasuk okoli koordinatne osi y.
Zanima nas če se pri poljubni obtežbi giblje -> Zapišemo ravnotežne enačbe in jih damo v matriko in izračunamo rang matrike
Dejansko število prostostnih stopenj je enako število kinematičnih neznank (6) - rang matrike (5) = 1 -> sistem togih teles ima 1 prostostno stopnjo -> konstrukcija je labilna.
Podpore (drsna podpora) dopuščajo pomik s smeri koordinatne osi x in preprečujejo pomike v smeri koordinatne osi z in zasuk okoli koordinatne osi y.
Zanima nas če se pri poljubni obtežbi giblje -> Zapišemo ravnotežne enačbe in jih damo v matriko in izračunamo rang matrike
Dejansko število prostostnih stopenj je enako število kinematičnih neznank (6) - rang matrike (5) = 1 -> sistem togih teles ima 1 prostostno stopnjo -> konstrukcija je labilna.
Zgodovina sprememb…
- spremenil: alexa-lol ()
Vredno ogleda ...
Tema | Ogledi | Zadnje sporočilo | |
---|---|---|---|
Tema | Ogledi | Zadnje sporočilo | |
» | Matematika-problemOddelek: Šola | 1626 (1400) | Math Freak |
» | Gaussova eliminacijaOddelek: Šola | 4279 (3645) | Math Freak |
» | MatematikaOddelek: Šola | 4073 (3466) | galu |
» | pomoč pri linearni algebriOddelek: Šola | 3300 (3151) | whatever |
» | Mehanika, kinetikaOddelek: Znanost in tehnologija | 2409 (2015) | Thomas |