2014 dxdy logo

Научный форум dxdy

Математика, Физика, Computer Science, Machine Learning, LaTeX, Механика и Техника, Химия,
Биология и Медицина, Экономика и Финансовая Математика, Гуманитарные науки




Начать новую тему Ответить на тему
 
 [Wolfram Mathematica]не могу решить трансцендентное уранение
Сообщение07.12.2017, 11:46 


07/12/17
5
Необходимо заполнить таблицу значениями $a$ при
$b$ є $[0.01;0.1] $ с шагом 0.01
$c$ є $[0.25;1] $ с шагом 0.25
из этой системы уравнений
$ ((a+b+1)/(a+b-1))^{1/2} \cdot J_0(k\cdot c)/J_1(k\cdot c) = $
$ = ((1 + a)/(1 - a))^{1/2} \cdot K_0(q\cdot c)/K_1(q\cdot c) $
$ k = ((a+b)^2 - 1)^{1/2} $
$ q = (1 - a^2)^{1/2} $
$J_0$, $J_1$ - функции Бесселя соответствующих порядков
$K_0$, $K_1$ - функции Макдональда соответствующих порядков
Я решил сначала организовать вычисления, а только после таблицы,
но это у меня не вышло. Вот мой код:
Код:
b := 1/100;
c := 1/4;
k := ((a + b)^2 - 1)^(1/2);
q := (1 - a^2)^(1/2);
j0 := BesselJ[0, k*c];
j1 := BesselJ[1, k*c];
k0 := BesselK[0, q*c];
k1 := BesselK[1, q*c];
ur := (((a + b + 1)/(a + b - 1))^(1/2))*(j0/j1) == (((1 + a)/(1 - a))^(1/2))*(k0/k1);
NSolve[ur, a]

 Профиль  
                  
 
 Re: [Wolfram Mathematica]не могу решить трансцендентное уранение
Сообщение07.12.2017, 12:23 


11/07/16
825
Результат команды
Код:
Plot[ur, {a, -2, 1}]

показывает отсутствие действительных решений.

 Профиль  
                  
 
 Re: [Wolfram Mathematica]не могу решить трансцендентное уранение
Сообщение09.12.2017, 21:05 


07/12/17
5
Я знаю что действительных решений нет, нужно получить комплексные. У вас есть идеи, как это можно сделать?

 Профиль  
                  
 
 Re: [Wolfram Mathematica]не могу решить трансцендентное уранение
Сообщение09.12.2017, 21:26 


11/07/16
825
Вы повторяете ваше личное сообщение. Повторю и мой ответ вам.
Применяя команду fsolve
Код:
c := 1/4; b := 1/100; k := ((a+b)^2-1)^(1/2); q := (-a^2+1)^(1/2); j0 := BesselJ(0, k*c); j1 := BesselJ(1, k*c); k0 := BesselK(0, q*c); k1 := BesselK(1, q*c); ur := ((a+b+1)/(a+b-1))^(1/2)*j0/j1 = ((1+a)/(1-a))^(1/2)*k0/k1;
sol1 := fsolve(ur, a = -20-20*I .. 20+20*I, complex);
                  -11.89512022 - 3.763957960 I
sol2 := fsolve(ur, a = -20-20*I .. 20+20*I, avoid = {a = sol1}, complex);
                  -11.89512022 + 3.763957960 I
sol3 := fsolve(ur, a = -20-20*I .. 20+20*I, avoid = {a = sol1, a = sol2}, complex);
NULL

, в Мэйпле нашел два комплексные решения $ \left\{ a=- 11.89512022- 3.763957960\,i,a=- 11.89512022+ 3.763957960
\,i \right\} 
$. Как это сделать в Математике, не знаю. Не понимаю смысл ненужного дублирования.

 Профиль  
                  
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 4 ] 

Модераторы: Karan, Toucan, PAV, maxal, Супермодераторы



Кто сейчас на конференции

Сейчас этот форум просматривают: DariaRychenkova


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group