MATLAB Преобразование символьного выражения в числовое через двойной - PullRequest
0 голосов
/ 03 сентября 2018

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

Вот мой код:

P1 = [-1.5, -2]
P2 = [2, 2]
P3 = [-2.5, 2.5]
P4 = [2, -1]

syms x 
syms y
c = 299792.458e3

r1i = sqrt((P1(1,1) - x)^2 + (P1(1,2) - y)^2)
r2i = sqrt((P2(1,1) - x)^2 + (P2(1,2) - y)^2)
t21 = -3.7294e-6
S = double(solve(t21 == (r2i-r1i)/c, y))

Однако, это приводит к ошибке:

Error using symengine
DOUBLE cannot convert the input expression into a double array.

Error in sym/double (line 613)
        Xstr = mupadmex('symobj::double', S.s, 0);

Error (line 18)
S = double(solve(sym(t21) == (r2i-r1i)/c, y))

Я немного погуглил, но не могу найти ни одного другого сайта, рассказывающего о подобной проблеме. Кто-нибудь сможет мне помочь? Большое спасибо за ваше время и помощь в продвинутом!


Этот вопрос был помечен как дубликат, но он не совсем соответствует другой идентифицированной ссылке, потому что я пытаюсь построить уравнение. Это должно произвести две гиперболы. Ни один из предложенных методов не помог с построением графика

...