2015-12-25 2 views
4

Я пытаюсь решить следующее уравнение программно:Я пытаюсь решить систему нелинейных уравнений в node.js

(ax−x0)^2 + (ay−y0)^2 = r^2 
(bx−x0)^2 + (by−y0)^2 = (r+330bs)^2 
(cx−x0)^2 + (cy−y0)^2 = (r+330cs)^2 

ax,bx,cx,ay,by,cy,bs и cs являются параметрами, все, которые я получаю во время выполнения. Я пытаюсь найти x0 и y0, но когда я подаю это в algorithm.js это ошибки. Я ученик средней школы, поэтому я не изучал математику высокого класса (я нашел решения вращающихся матриц, которые я еще не изучил)

Хотел бы помочь с этим, спасибо заранее.

EDIT:

Код я использовал с algebra.js был:

/* 
    a = ax* 
    b = bx* 
    c = cx* 
    d = ay* 
    e = by* 
    f = cy* 
    g = x0 
    h = y0 
    i = r 
    j = bs* 
    k = cs* 
*/ 
var eq = algebra.parse("(a−g)^2 + (d−h)^2 = i^2"); 
eq.solveFor("g"); 

Я тогда хотел поставить ответ во втором уравнении и решить, что, но это не Работа.

EDIT2:

Источником этого уравнения является this между прочим.

+1

Не могли бы вы опубликовать код, который вы создали до сих пор, в частности, часть, в которой вы создаете, и передаете уравнения алгебре. js? – Jaco

+1

@Jaco Добавлено edit – FunnyDaven

+1

Какая ошибка вы получаете? Или решение просто возвращается не определено? – Jaco

ответ

2

Проблема - это знак минуса. Попробуйте это с вашим знаком минус я скопировал здесь

console.log("−".charCodeAt()); 

вы получите 8722 http://www.codetable.net/decimal/8722 теперь знаком минус, что я напечатал на клавиатуре

console.log("-".charCodeAt()); 

я получаю 45 http://www.codetable.net/decimal/45

и с charCode 45 ваш код работает, ну, по крайней мере, для меня

Это все, что я знаю, у меня есть n o объяснение этому извините :)

+0

Лексер для алгебры.js действительно поддерживает только минус с charCode 45, см. исходный код GitHub. Вы должны были скопировать и вставить другой знак минус с веб-страницы. – Jaco

+0

@Jaco Я не уверен, что вы имеете в виду. Когда я копирую/вставляю код FunnyDaven, я получаю указанную ошибку. Когда я заменяю знак минус, он работает. Вы пробовали себя? – Molda

+0

В Юникоде есть разные значки минус, и только знак минуса, который вы вводите с помощью вашей клавиатуры (charCode 45), будет успешно проанализирован с помощью algorithm.js. – Jaco

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