2016-10-14 2 views
0

Каков наилучший способ решить диофантово уравнение как это x^2 – x*y – 2*y^2 = 7 в Matlab? В этом конкретном случае ответы должны быть (3; –2), (5; 2), (–3; 2), (–5; –2).Решить диофантовое уравнение в Matlab

+2

См. [Настоящее сообщение с файловым обменом] (https://www.mathworks.com/matlabcentral/fileexchange/56143-diophantine-equation-solver). Если у вас есть набор инструментов Symbolic Math, вы также можете использовать MuPAD с помощью Matlab для [решения Diophantines] (https://www.mathworks.com/help/symbolic/mupad_ref/solve.html#diophantine): 'evalin (symengine, 'решить (х^2-х * у-2 * у^2 = 7, [х, у], домен = Z _)') '. – horchler

ответ

0

Ну вы можете перебирает его, хотя я уверен, что есть лучше алгебраические способы:

x = -5:5; 
y = -5:5; 

[X,Y] = meshgrid(x,y); 
f = X.^2-X.*Y-2*Y.^2; 

[X(f==7),Y(f==7)] 

вы можете подметать x и y между желаемыми регионами. Он также будет работать для десятичных значений x = -5:0.01:5;.

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