2012-03-19 2 views
1

Я использую xmaxima для решения двух одновременных нелинейных уравнений с использованием команды «решить». На дисплее отображается x = [ans1, ans2, ..], y = [ans1, ans2, ...], но это is'int получает хранится в переменной «x» и «y». Как назначить вывод переменной, чтобы я мог использовать вывод для дальнейших вычислений. Код xmaxima, как показано ниже:Как назначить выход решения в максимумах переменной?

A:0.500000000000000$ 
B:0.709506070053745$ 
C:0.242527534593605$ 
D:0.719012140107490$ 
E: 0.357164044380080$ 
F:-0.505315948652670$ 
G:0.181895650945204$ 
H: 0.300000000000000$ 

[x,y]=solve([x^2*(A*y^3+B*y-C)-D*x*y^2+E*y^3,A*x^2+(x/y^2)*(H*y+G)+F],[x,y]),numer; 

output is: 
[x, y] = [[x = 0.0611142802814223, y = 0.167915465898175], 
[x = - 6.026109660574413, y = 0.305609155632444], 
[x = 0.290917101108745, y = 0.445210848095313], 
[x = 0.456144541234576 %i + 1.180400965797426, 
y = 0.869595022612534 %i + 0.051360830266336], 
[x = 1.180400965797425 - 0.456144541234575 %i, 
y = 0.051360830266336 - 0.869595022612534 %i], 
[x = 0.0609759975012744 %i - 0.777728688525087, 
y = 0.792517145089706 %i - 0.51072855430292], 
[x = - 0.0609759975012744 %i - 0.777728688525087, 
y = - 0.792517145089706 %i - 0.51072855430292], 
[x = 0, y = 0]] 

ответ

1

Во-первых, обратите внимание, что существует более чем одно решение, так что вы должны решить, что вы хотите сделать с ними. Один из вариантов заключается в следующем:

(%i9) solutions: solve([x^2*(A*y^3+B*y-C)-D*x*y^2+E*y^3,A*x^2+(x/y^2)*(H*y+G)+F],[x,y]), numer$ 

<snipped some info lines from rat> 

(%i10) xvals: map(rhs, map(first, solutions)); 
(%o10) [.06111426947129051, - 6.026109660574413, .2909171173159695, 
.4561445354339108 %i + 1.180400961416986, 
1.180400961416985 - .4561445354339104 %i, 
.06097600174281474 %i - 0.77772869099467, 
- .06097600174281463 %i - 0.77772869099467, 0] 

(%i11) yvals: map(rhs, map(second, solutions)); 
(%o11) [.1679154401926679, .3056091599125177, .4452108480953128, 
.8695950265919334 %i + .05136082885038127, 
.05136082885038127 - .8695950265919334 %i, 
0.792517152411182 %i - .5107285531053073, 
- 0.792517152411182 %i - .5107285531053073, 0] 

Тогда вы можете разжиться х, у пары для решения с помощью xvals[k] и yvals[k] (где вы выбираете K от 1 до 8).

+1

О, и не забывайте, что оператор присваивания - ':', а не '='. –

 Смежные вопросы

  • Нет связанных вопросов^_^