2014 dxdy logo

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

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




 
 Maple долго строит график
Сообщение17.05.2023, 19:56 
Аватара пользователя
Доброго времени суток!
Хотел посмотреть, как выглядит график функции
$$
f(x)=\int\limits_0^x \frac{dt}{t\ln^2(t)\sqrt{x-t}}.
$$
Функция $f$ для малых положительных $x$ определена корректно, поскольку функция $(t \ln^2t)^{-1}$ интегрируема, например, на $[0,1/2]$.
Пытаюсь выполнить в Maple 2022 такую команду
  1. h := evalf(Int(1/(t*ln(t)^2*(x - t)^(1/2)), t = 0 .. x, epsilon = 0.001)) 
  2. plot(h, x = 0 .. 1/2) 

Но Maple только снизу в левом углу пишет "Вычисление...".
Точность вычисления стоит очень низкая, но даже это не помогает, хотя кажется, что график должен выглядить очень просто.

 
 
 
 Re: Maple долго строит график
Сообщение17.05.2023, 23:51 
Ваш вариант быстро выполнился в Maple 7.
В Maple 15 у меня сработал вариант без evalf:
Код:
> h := Int(1/(t*ln(t)^2*(x - t)^(1/2)), t = 0 .. x, epsilon = 0.001):
> plot(h, x=0..1/2, thickness=2, color=black);

Вложение:
Maple15_pic.PNG


-- Wed 17.05.2023 23:03:33 --

В Maple 2021 ситуация аналогична Maple 15: без evalf быстро рисует, а с evalf - отображает (в нижнем левом углу) "Вычисление...".


У вас нет доступа для просмотра вложений в этом сообщении.

 
 
 
 Re: Maple долго строит график
Сообщение18.05.2023, 10:42 
Аватара пользователя
Большое спасибо. Без evalf действительно вычисляет. Я вчера еще добавил команду Digits:=5, и он тоже отобразил график (evalf вроде бы был на месте). Хотя я этот evalf специально для Maple'а добавил, по моему представлению это должно было ему облегчить вычисления :-)

 
 
 
 Re: Maple долго строит график
Сообщение18.05.2023, 11:30 
У меня с Digits:= 5 в Maple 15 также сработало. Но менять точность вычислений без необходимости так себе идея.
Даже со значением Digits по умолчанию без evalf c epsilon = 0.00001 Maple 15 строит картинку. (Дальше лень было проверять.)

Напомню себе.
Int(, epsilon = value) — это инертная форма численного вычисления интеграла (инертная — без самого вычисления).
evalf(Int(, epsilon = value)) — это численное вычисление интеграла.
plot() «вычисляет» инертные формы.
Например
Код:
> h := Int(t^2, t = 0..x):  plot(h, x=0..1);
Построит график.

 
 
 [ Сообщений: 4 ] 


Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group