2014 dxdy logo

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

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




Начать новую тему Ответить на тему
 
 Верхний предел численного интегрирования как функция
Сообщение10.02.2021, 01:26 
Аватара пользователя


17/03/17
683
Львів
Здравствуйте.
Пытаюсь в Mathematica сделать следующее. Пусть есть функция $f(r,M)=M-r+\int\limits_1^r2xdx=M-r+r^2-1$. Из условия $f(r,M)=0$ получаем квадратное уравнение $r^2-r+M-1=0$. Допустим нас интересует корень со знаком "плюс", то есть $r=\displaystyle\frac{1+\sqrt{5-4M}}{2}$. Рассмотрим функцию $r(M)=\displaystyle\frac{1+\sqrt{5-4M}}{2}$ и [нет не будем подставлять её в верхний предел интеграла функции $f(r,M)$] построим график $r(M)$ например на отрезке $M\in[0,5/4]$.
------------------------------------------
Теперь я пытаюсь запрограммировать этот пример в Mathematica, но так, чтобы она вычисляла интеграл $\int\limits_1^r2xdx$ численно. Но похоже у меня ошибка в коде, вот он:
f[r_, M_] := M - r + NIntegrate[2*x, {x, 1, r}] (задаю функцию $f(r,M)$);
Plot[f[r, 1], {r, 0, 2}] (строю график $f(r,M)$ при $M=1$, просто чтобы проверить, численное интегрирование в первой строчке кода);
r[M_] := r /. Solve[f[r, M] == 0, r][[1]] (определяю функцию $r(M)$ и в двойных квадратных скобках указываю первый корень, потом также проверяю и для второго);
Plot[r[M], {M, 0, 5/4}] (на этом этапе выдает, что x=r is not a valid limit of integration),
значит Mathematica не понимает, что я от нее хочу. А я лишь хочу получить график фукции $r(M)=\displaystyle\frac{1+\sqrt{5-4M}}{2}$ интегрируя $\int\limits_1^r2xdx$ численно.
Можно ли совершить задуманное?

(Это конечно просто пример, чтобы пояснить техническую часть вопроса.)

-- 10 фев 2021, 01:04 --

Есть предположения, что поскольку график строится поточечно, то возможно вместо Solve нужно что-то вроде FindRoot и ещё может из-за неоднозначности $r$ и двойные квадратные скобки там не работают, или нужно ещё указать малый интервал-погрешность для $r$, поскольку точное равенство функции $f(r,M)$ нулю может не быть из-за дискретных значений $r$...

 Профиль  
                  
 
 Re: Верхний предел численного интегрирования как функция
Сообщение10.02.2021, 02:06 
Заслуженный участник


09/05/13
8904
Код:
f[r_, M_] := M - r + Integrate[2*x, {x, 1, r}]
ContourPlot[f[r, M] == 0, {M, 0, 5/4}, {r, 0, 2}]

 Профиль  
                  
 
 Re: Верхний предел численного интегрирования как функция
Сообщение10.02.2021, 22:35 
Аватара пользователя


17/03/17
683
Львів
Спасибо, теперь буду знать ContourPlot. Я правда, сначала хотел что-то для NIntegrate, т.е. для численного интегрирования, когда подынтегральная функция сложная и просто Integrate не справляется, но пока решил попробовать другую идею.

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

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



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

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


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

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