Forum » Loža » Kako poračunati enačbo?
Kako poračunati enačbo?
![](https://static.slo-tech.com/stili/avatar_gray.gif)
kitajc ::
V Excelu sem napisal serijo enačb, kjer vstavljam vrednosti in se vse samodejno računa. Sedaj pa sem pri tem postopku prišel do naslednje enačbe, ki je ne znam izračunati:
Če kdo lahko popravi tole spodnjo kodo, da bo izgledalo lepo?
https://latex.codecogs.com/gif.latex?\f...
Poznam vse podatke, izračunati pa bi rabil Vr.
Kako bi se tega lotil v Excelu? Imam sicer tudi Matlab, a ga ne znam prav veliko.
P.S.: Kakor vidim, ni možno pripeti Excelove datoteke?
\[\frac{P_{r}V_{r}}{T_{r}}=1+\frac{B}{V_{r}}+\frac{C}{V_{r}^{2}}+\frac{D}{V_{r}^{5}}+\frac{c_{4}}{T_{r}^{3}V_{r}^{2}}\left ( \beta +\frac{\gamma }{V_{r}^{2}} \right )exp\left ( -\frac{\gamma }{V_{r}^{2}} \right )\]
Če kdo lahko popravi tole spodnjo kodo, da bo izgledalo lepo?
https://latex.codecogs.com/gif.latex?\f...
Poznam vse podatke, izračunati pa bi rabil Vr.
Kako bi se tega lotil v Excelu? Imam sicer tudi Matlab, a ga ne znam prav veliko.
P.S.: Kakor vidim, ni možno pripeti Excelove datoteke?
\[\frac{P_{r}V_{r}}{T_{r}}=1+\frac{B}{V_{r}}+\frac{C}{V_{r}^{2}}+\frac{D}{V_{r}^{5}}+\frac{c_{4}}{T_{r}^{3}V_{r}^{2}}\left ( \beta +\frac{\gamma }{V_{r}^{2}} \right )exp\left ( -\frac{\gamma }{V_{r}^{2}} \right )\]
- spremenilo: kitajc ()
![](https://static.slo-tech.com/stili/avatar_gray.gif)
kitajc ::
Če to enačbo posplošim in vstavim podatke (niso to pravi podatki, a vrednosti so > 0), ki jih že imam, enačba izgleda takole:
https://latex.codecogs.com/gif.latex?10...
Excel, Mathematica, Matlab? V tem vrstnem redu....
To bi sicer lahko reševal z Eulerjevim nastavkom, vendar ne morem zaradi zadnjega člena "exp".
https://latex.codecogs.com/gif.latex?10...
Excel, Mathematica, Matlab? V tem vrstnem redu....
To bi sicer lahko reševal z Eulerjevim nastavkom, vendar ne morem zaradi zadnjega člena "exp".
Zgodovina sprememb…
- spremenilo: kitajc ()
![](https://static.slo-tech.com/stili/avatar_gray.gif)
kitajc ::
![](https://static.slo-tech.com/stili/avatar_gray.gif)
kitajc ::
Zadevo sem v Matlabu rešil s takole funkcijo:
Ali lahko podobno napišem tudi v Excelu? Kako se reče funkciji za reševanje enačb v Excelu?
syms Vr
eqn = Pr*Vr/Tr == 1 + B/Vr + C/Vr^2 + D/Vr^5 + c4/(Tr^3*Vr^2)*(BETA + (GAMA/Vr^2)*exp(-GAMA/Vr^2)) ;
Vr = solve(eqn,Vr)
Ali lahko podobno napišem tudi v Excelu? Kako se reče funkciji za reševanje enačb v Excelu?
![](https://static.slo-tech.com/stili/avatar_gray.gif)
rasta ::
Imaš opravka z implicitno enačbo. Iz vseh enačb se ne da izraziti x-a.
Kot mi je na hitro povedal stric Google, v Excelu ni vgrajene nobene numerične metode za reševanje implicitnih enačb, je pa na voljo nekaj dodatkov, ki naj bi to znala.
Kaj ti pa vrne funkcija solve() v Matlabu?
Kot mi je na hitro povedal stric Google, v Excelu ni vgrajene nobene numerične metode za reševanje implicitnih enačb, je pa na voljo nekaj dodatkov, ki naj bi to znala.
Kaj ti pa vrne funkcija solve() v Matlabu?
![](https://static.slo-tech.com/stili/avatar_gray.gif)
kitajc ::
Sedaj sem zadevo že dodobra spisal v Matlabu. Imam pa spet problem, ker bi rad uporabil rezultate funkcije iz druge .m datoteke. To naredim s kodo:
Vendar mi vedno pokliče celotno funkcijo. Računanje je malo smotano, a me zanima, če bi lahko iz druge .m datoteke poklical le nekaj že tam izračunanih rezultatov?
Misliš tole?
izracun_konstant_za_osnovni_fluid; %this will run izracun_konstant_za_osnovni_fluid.m
Vendar mi vedno pokliče celotno funkcijo. Računanje je malo smotano, a me zanima, če bi lahko iz druge .m datoteke poklical le nekaj že tam izračunanih rezultatov?
Misliš tole?
solve(Pr*Vr/Tr == 1 + B/Vr + C/Vr^2 + D/Vr^5 + c4/(Tr^3*Vr^2)*(BETA + (GAMA/Vr^2)*exp(-GAMA/Vr^2))
![](https://static.slo-tech.com/stili/avatar_gray.gif)
kitajc ::
Imam naslednjo kodo, kjer bi rad, da pokličem posamezno spojino z imenom in program vzame njene vrednosti. Zaenkrat so te spojine le 3, a jih bo cel kup, zato drugačno poimenovanje vrednosti vsake spojine ne pride v poštev. Rad bi imel vse v tej .m datoteki dokler so spojine le 3. Kasneje še dodaten .m za vse podatke.
Rad bi, da mi napiše:
Napišem: "METAN"
Program vzame konstante metana - Tc_0=190.564; Pc_0=4599000; Vc_0=0.0986; OMEGAc_0=0.286;
Vrednosti ne rabim vpisovati, ker so to konstante in so vsekozi enake!
'IZBERI ŽELJENI OSNOVNI FLUID'
'Kritične vrednosti za osnovni fluid - METAN'
Tc_0=190.564; Pc_0=4599000; Vc_0=0.0986; OMEGAc_0=0.286;
'Kritične vrednosti za osnovni fluid - VODA'
'Tc_0=647.096; Pc_0=22064000; Vc_0=0.0559472; OMEGAc_0=0.229;'
'Kritične vrednosti za osnovni fluid - ETAN'
'Tc_0=305.32; Pc_0=4872000; Vc_0=0.1455; OMEGAc_0=0.09493;'
Rad bi, da mi napiše:
....=input('VSTAVI OSNOVNI FLUID')
Napišem: "METAN"
Program vzame konstante metana - Tc_0=190.564; Pc_0=4599000; Vc_0=0.0986; OMEGAc_0=0.286;
Vrednosti ne rabim vpisovati, ker so to konstante in so vsekozi enake!
![](https://static.slo-tech.com/stili/avatar_gray.gif)
kitajc ::
Z drugimi besedami - rad bi združil tole:
'Kritične vrednosti za osnovni fluid - METAN'
Tc_0=190.564; Pc_0=4599000; Vc_0=0.0986; OMEGAc_0=0.286;
Da se druga vrstica navezuje na besedo "METAN". Kako lahko to naredim?
'Kritične vrednosti za osnovni fluid - METAN'
Tc_0=190.564; Pc_0=4599000; Vc_0=0.0986; OMEGAc_0=0.286;
Da se druga vrstica navezuje na besedo "METAN". Kako lahko to naredim?
![](https://static.slo-tech.com/stili/avatar_gray.gif)
rasta ::
Misliš tole?
solve(Pr*Vr/Tr == 1 + B/Vr + C/Vr^2 + D/Vr^5 + c4/(Tr^3*Vr^2)*(BETA + (GAMA/Vr^2)*exp(-GAMA/Vr^2))
Pričakovano, simbolično obračanje enačb ni pripeljalo nikamor.
Kot kaže, bo le treba vzeti nek nelinarni solver (npr. fsolve() v Matlabu)
Sicer pa si za Matlab probleme odpri novo temo (pa poglej si switch-stavek za izvedbo različne kode glede na besedo).
![](https://static.slo-tech.com/stili/avatar_gray.gif)
kitajc ::
Napiše mi "Warning: Cannot solve symbolically. Returning a numeric approximation instead." Vendar je ta vrednost prava in pravi je tudi končni rezultat.
fsolve sem nekaj poskušal, a ni šlo,,,
fsolve sem nekaj poskušal, a ni šlo,,,
![](https://static.slo-tech.com/stili/avatar_gray.gif)
kitajc ::
%REDUCIRANA FUGATIVNOST ln(f/p) = F
syms E
eqn = E == c4_0/(2*Tr_0^3) * (BETA_0 + 1 - (BETA_0 + 1 + GAMA_0/Vr_0^2)* exp(-GAMA_0/Vr_0^2));
E=double(solve(eqn))
syms F
eqn = F == Z - 1 - log(Z) + B_0/Vr_0 + C_0/(2*Vr_0^2) + D_0/(5*Vr_0^5) + E ;
F=double(solve(eqn))
Rad bi, da mi prikaže vrednost ln(f/p) = .... Sedaj sem to označil kar s "F", ampak bi rad, da piše "ln(f/p)". Kako lahko to popravim?
Vredno ogleda ...
Tema | Ogledi | Zadnje sporočilo | |
---|---|---|---|
Tema | Ogledi | Zadnje sporočilo | |
» | Baza v vektorskem prostoruOddelek: Šola | 2579 (1077) | BivšiUser2 |
» | Matlab problemOddelek: Pomoč in nasveti | 1396 (820) | bluefish |
» | Matematika - FMF (strani: 1 2 )Oddelek: Šola | 10281 (8014) | sherman |
» | Pomoč pri izpeljavi enačbeOddelek: Šola | 2244 (1845) | darkolord |
» | Reševanje enačbOddelek: Programiranje | 1395 (1108) | StratOS |