2013-06-30 2 views
0

ПСЯ Я новичок затмить CLP, и я хочу, чтобы реализовать предикат, который получает все углы, эквивалентные определенной синусоидальной функции, что-то вродеИспользование тригонометрических функций в затмении

:- lib(ic). 
solve(L) :- 
L = [X,Y,Z], 
L::[-180..180], 
cos(X) #= sin(Y) + sin(Z), 
labeling(L). 

Я знаю, что эта схема, вероятно, работает для интегральных значений переменных; поэтому мне нужно альтернативное решение, которое также использует CLP.

ответ

1

Хорошо, я понял это,

:-lib(ic). 
solve(V):- 
V = [X,Y,Z], 
V::[0 .. 180], 
cos(X*pi/180) $= sin(Y*pi/180) + sin(Z*pi/180), 
labeling(V). 

N.B: при созе и грех предикаты работать с радианами

0

аргументов тригонометрических функций находятся в радианах.

Используйте формулу Rad = Degree * pi/180 для преобразования.

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