kid_m
(kid_m)
#1
x0’ = a x0 + b y0 + e
y0’ = c x0 + d y0 + f
x1’ = a x1 + b y1 + e
y1’ = c x1 + d y1 + f
x2’ = a x2 + b y2 + e
x2’ = c x2 + d y2 + f
mam dane x0, x1, x2, x0’, x1’, x2’
muszę obliczyć a, b, c, d, e, f
pytanie bardziej matematyczne niż programistyczne.
czy istnieje jakiś prosty sposób? czy muszę to doprowadzać do najprostszej postaci
czy (jakiś) język programowania poradzi sobie z takim układem i sam wykona niezbędne obliczenia…?
Wasacz
(Wasacz)
#2
kid_m
(kid_m)
#3
mógłbyś mnie naprowadzić w jaki sposób to wpisać?
rozumiem, że równania łączę za pomocą & (and) …
_alex
([alex])
#4
Jeżeli masz również dane y0, y1, y2, y0’, y1’, y2’
to możesz to w excelu łatwo policzyć.
Jeżeli nie masz to masz 6 równań oraz 12 niewiadomych - nie da się rozwiązać.
kid_m
(kid_m)
#5
zapomnialem dodac. oczywiscie znam wartosci y0, y1, y2, y0’, y1’, y2’
ale chodzi o wyliczenie a, b, c, d, e,f bez podstawiania danych (znanych wartosci…)
tzn. zeby w wyliczeniu pojawialy sie x0, x1, x2, y0, y1, y2, x0’, x1’, x2’, y0’, y1’, y2’
np. d = 4x0 + 2y0 + y1’ + 3y2’
łatwo w excelu…?
_alex
([alex])
#6
czy w ostatnim równaniu nie powinno być:
y2’= …
system
(system)
#7
Google -> Rozwiązywanie układów równań liniowych metodą eliminacji Gaussa
_alex
([alex])
#8
Solve
[
{
x0’ == a*x0 + b*y0 + e,
y0’ == c*x0 + d*y0 + f,
x1’ == a*x1 + b*y1 + e,
y1’ == c*x1 + d*y1 + f,
x2’ == a*x2 + b*y2 + e,
x2’ == c*x2 + d*y2 + f
},
{a, b, c, d, e, f}
]
Wynik:
a=
- (x1’*y0 - x2’*y0 + x2’*y1 - x0’*y1 - x1’*y2 + x0’*y2)/(-x1*y0 + x2*y0 + x0*y1 - x2*y1 - x0*y2 + x1*y2)
;
b=
- (-x0*x1’ + x1’*x2 + x0*x2’ - x1*x2’ + x1*x0’ - x2*x0’)/( -x1*y0 + x2*y0 + x0*y1 - x2*y1 - x0*y2 + x1*y2)
;
c=
- (x2’*y0 - x2’*y1 + y0’*y1 - y0*y1’ - y0’*y2 + y1’*y2)/(x1*y0 - x2*y0 - x0*y1 + x2*y1 + x0*y2 - x1*y2)
;
d=
- (-x0*x2’ + x1*x2’ - x1*y0’ + x2*y0’ + x0*y1’ - x2*y1’)/(x1*y0 - x2*y0 - x0*y1 + x2*y1 + x0*y2 - x1*y2)
;
e=
- (x1’*x2*y0 - x1*x2’*y0 + x0*x2’*y1 - x2*x0’*y1 - x0*x1’*y2 + x1*x0’*y2)/(x1*y0 - x2*y0 - x0*y1 + x2*y1 + x0*y2 - x1*y2)
;
f=
-(-x1*x2’*y0 + x0*x2’*y1 - x2*y0’*y1 + x2*y0*y1’ + x1*y0’*y2 - x0*y1’*y2)/(x1*y0 - x2*y0 - x0*y1 + x2*y1 + x0*y2 - x1*y2)
;
kid_m
(kid_m)
#9
super [alex], wielkie dzięki
btw, w czym to wyszło? matlab?
_alex
([alex])
#10
kid_m
(kid_m)
#11
tak, niestety wkradł się mały błąd…
http://www.wolframalpha.com/ nie radzi sobie z tym układem równań,
ale na szczęście Mathematica pomógł. Dzięki Wasacz za sugestię…
Temat z mojej strony zamknięty.