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, Супермодераторы



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

Сейчас этот форум просматривают: нет зарегистрированных пользователей


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

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