Форум программистов, компьютерный форум, киберфорум
Wolfram Mathematica
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 5.00/11: Рейтинг темы: голосов - 11, средняя оценка - 5.00
 Аватар для Johnlion
63 / 3 / 1
Регистрация: 11.05.2011
Сообщений: 666

Почему неправильно считает определенный интеграл?

21.06.2014, 18:17. Показов 2389. Ответов 12
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Считаю интеграл (файлик .nb Mathematica 8 пригалаю)
Название: опр инт.png
Просмотров: 89

Размер: 1.6 Кб
методом средних прямоугольников. 2 вопроса:
- я что-то делаю неправильно: Mathematica выводит результат 0.364222 (строка 12 в последнем блоке кода), а методом прямоугольников получается 0.543802 (строка 1 в 3м блоке кода). почему?
- может я неправильно определяю наибольшее значение модуля второй производной? (строка 1 во 2м блоке кода)
Кликните здесь для просмотра всего текста
Code
1
2
3
4
5
6
7
f[x_] := x^0.5 *Sin[x]
x0 = 0;
xn = 1;
eps = 0.0001;
f2[x_] = Dt[f[x], {x, 2}];
 
Plot[f2[x], {x, x0, xn}]

Code
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
(* из графика видно, что наибольшее значение модуля второй производной 
в точке 0,04. Найдем это значение *)
M2 = N[f2[0.04]]
 
3.73834
 
(* определим велечину шага h с учетом ограничения на n: *)
 
h = Sqrt[(24*eps)/(M2*(xn - x0))]
 
0.0253377
 
n = (xn - x0)/h
 
39.4669
 
(* возьмем такие значения (h можно только уменьшать, n \
должно быть целым): *)
 
h1 = 0.01111111;
n = (xn - x0)/h1
 
90.
 
(* вычислим значение интеграла: *)
Название: J1_1.png
Просмотров: 86

Размер: 1.8 Кб
Code
1
2
3
4
5
6
7
8
9
10
11
12
0.543802
 
(* рассчитаем погрешность для формулы средних квадратов: *)
 
R1 = (xn - x0)/24*h1^2*M2
 
0.0000192301
 
(* погрешность по Рунге для формулы средних прямоугольников 
(h ум. вдвое, n ув. вдвое): *)
 
h11 = h1/2;
Название: J1_2.png
Просмотров: 87

Размер: 2.0 Кб
Code
1
2
3
4
5
6
7
8
9
10
11
12
0.543802
 
k = 2;
r1 = (J11 - J1)/(2^k - 1)
 
2.08237*10^-7
 
(* проверка с помощью Mathematica *)
 
JM = NIntegrate[f[x], {x, x0, xn}]
 
0.364222
Вложения
Тип файла: rar прямоугольники.rar (8.2 Кб, 7 просмотров)
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
21.06.2014, 18:17
Ответы с готовыми решениями:

Почему не считает интеграл
Подскажите, пожалуйста, почему не считает интеграл

Неправильно считает интеграл
написал два метода Симпсона и Монте-Карло, но 2-ой не правильно считает, помогите пожалуйстаю Значение у Симпсона получается: 1.3352, у...

Почему считает неправильно?
Здравствуйте, писал значит я программулину(опять же лаба,но уже для собственного развития), вообщем она банально простая,решение примера....

12
Модератор
Эксперт по математике/физике
 Аватар для VSI
5291 / 4073 / 1392
Регистрация: 30.07.2012
Сообщений: 12,490
21.06.2014, 20:46
Средние прямоугольники...
Миниатюры
Почему неправильно считает определенный интеграл?  
0
 Аватар для Johnlion
63 / 3 / 1
Регистрация: 11.05.2011
Сообщений: 666
21.06.2014, 21:24  [ТС]
VSI, не совсем понимаю, почему m = 100 и где вычисляется h ?
0
Модератор
Эксперт по математике/физике
 Аватар для VSI
5291 / 4073 / 1392
Регистрация: 30.07.2012
Сообщений: 12,490
21.06.2014, 22:36
h это dx
m - число разбиений диапазона...
0
 Аватар для Johnlion
63 / 3 / 1
Регистрация: 11.05.2011
Сообщений: 666
21.06.2014, 23:02  [ТС]
VSI, почему m именно 100? и почему h считается не так, как у меня? и если можно, пожалуйста, прокомментируйте мой метод решения, почему он неправильный?
0
Модератор
Эксперт по математике/физике
 Аватар для VSI
5291 / 4073 / 1392
Регистрация: 30.07.2012
Сообщений: 12,490
21.06.2014, 23:34
Цитата Сообщение от Johnlion
...почему m именно 100?
Можете присваивать m=10, 20, 30, ..., 100, 110, 120, ..., 200, ... На Ваше усмотрение... Чем больше (в разумных пределах, конечно), тем результат точнее...
0
 Аватар для Johnlion
63 / 3 / 1
Регистрация: 11.05.2011
Сообщений: 666
22.06.2014, 00:15  [ТС]
VSI, спасибо а на остальные вопросы ответите?
0
Эксперт функциональных языков программированияЭксперт по математике/физике
4313 / 2105 / 431
Регистрация: 19.07.2009
Сообщений: 3,205
Записей в блоге: 24
22.06.2014, 02:14
Цитата Сообщение от Johnlion Посмотреть сообщение
почему m именно 100?
Наверное, из тех же соображений, что и
Code
1
2
3
4
5
6
7
(* возьмем такие значения (h можно только уменьшать, n \
должно быть целым): *)
 
h1 = 0.01111111;
n = (xn - x0)/h1
 
90.
Цитата Сообщение от Johnlion Посмотреть сообщение
прокомментируйте мой метод решения, почему он неправильный?
В J1 имеется магическая константа 0.2. Сравнивая этот код с аналогичным от VSI, приходим к выводу, что a=0.2 и Вы интегрируете от 0.2 до 1.2, поэтому и не сходится.
0
 Аватар для Johnlion
63 / 3 / 1
Регистрация: 11.05.2011
Сообщений: 666
22.06.2014, 04:05  [ТС]
Mysterious Light, а чем же тогда заменить 0.2, чтобы сошлось?
0
Эксперт функциональных языков программированияЭксперт по математике/физике
4313 / 2105 / 431
Регистрация: 19.07.2009
Сообщений: 3,205
Записей в блоге: 24
22.06.2014, 13:04
x0, очевидно
0
 Аватар для Johnlion
63 / 3 / 1
Регистрация: 11.05.2011
Сообщений: 666
22.06.2014, 13:21  [ТС]
Mysterious Light, да, получилось, спасибо) а почему вы решили, что я интегрирую до 1.2 ?
0
Эксперт функциональных языков программированияЭксперт по математике/физике
4313 / 2105 / 431
Регистрация: 19.07.2009
Сообщений: 3,205
Записей в блоге: 24
22.06.2014, 13:52
Потому что Вы выбираете n из соображения, что длина интегрированого участка 1 (потому что n h = xn - x0 = 1), а в формуле Вы задаёте аргумент 0.2 + (i - 1/2) h, где (i - 1/2) h охватывает диапазон, задаваемый n h = 1, а смещение 0.2 определяет самую левую точку диапазона, стало быть, самая правая точка диапазона будет 1 + 0.2 = 1.2

См. формулу VSI и сравнивайте с Вашей формулой.
0
 Аватар для Johnlion
63 / 3 / 1
Регистрация: 11.05.2011
Сообщений: 666
22.06.2014, 15:04  [ТС]
Mysterious Light, а теперь когда я заменил 0.2 на x0 оно интегрируется до 1 ?
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
22.06.2014, 15:04
Помогаю со студенческими работами здесь

Почему неправильно считает матрицу?
#include "stdafx.h" #include "conio.h" #include"stdio.h" #define N 3 #define A printf("can't open a file\n"); FILE *f,*p; ...

Почему программа неправильно считает сумму?
Вот задание: http://cs628818.vk.me/v628818636/23176/6LFbXBEOAPQ.jpg Вот код: #include "stdafx.h" #include <stdio.h> ...

Почему выдает предупреждения и неправильно считает?
Здравствуйте, уважаемые программисты! Прошу помощи в программе. Суть в том, что при выборе в ComboBox1 второй позиции (начиная с 0),...

Проверьте код, почему он считает неправильно?
using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using...

Найти ошибки почему неправильно считает!
Тут нужно для х изменяющегося от a до b с шагом (b-a)/k, где (k=10), вычислить функцию f(x), используя ее разложение в степенной ряд в двух...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
13
Ответ Создать тему
Новые блоги и статьи
Символические и жёсткие ссылки в Linux.
algri14 15.03.2026
Существует два типа ссылок — символические и жёсткие. Ссылка в Linux — это дополнительная запись в каталоге, которая может указывать либо на inode «файла-ИСТОЧНИКА», тогда это будет «жёсткая. . .
[Owen Logic] Поддержание уровня воды в резервуаре количеством включённых насосов: моделирование и выбор регулятора
ФедосеевПавел 14.03.2026
Поддержание уровня воды в резервуаре количеством включённых насосов: моделирование и выбор регулятора ВВЕДЕНИЕ Выполняя задание на управление насосной группой заполнения резервуара,. . .
делаю науч статью по влиянию грибов на сукцессию
anaschu 13.03.2026
прикрепляю статью
SDL3 для Desktop (MinGW): Создаём пустое окно с нуля для 2D-графики на SDL3, Си и C++
8Observer8 10.03.2026
Содержание блога Финальные проекты на Си и на C++: hello-sdl3-c. zip hello-sdl3-cpp. zip Результат:
Установка CMake и MinGW 13.1 для сборки С и C++ приложений из консоли и из Qt Creator в EXE
8Observer8 10.03.2026
Содержание блога MinGW - это коллекция инструментов для сборки приложений в EXE. CMake - это система сборки приложений. Здесь описаны базовые шаги для старта программирования с помощью CMake и. . .
Как дизайн сайта влияет на конверсию: 7 решений, которые реально повышают заявки
Neotwalker 08.03.2026
Многие до сих пор воспринимают дизайн сайта как “красивую оболочку”. На практике всё иначе: дизайн напрямую влияет на то, оставит человек заявку или уйдёт через несколько секунд. Даже если у вас. . .
Модульная разработка через nuget packages
DevAlt 07.03.2026
Сложившийся в . Net-среде способ разработки чаще всего предполагает монорепозиторий в котором находятся все исходники. При создании нового решения, мы просто добавляем нужные проекты и имеем. . .
Модульный подход на примере F#
DevAlt 06.03.2026
В блоге дяди Боба наткнулся на такое определение: В этой книге («Подход, основанный на вариантах использования») Ивар утверждает, что архитектура программного обеспечения — это структуры,. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru