|
0 / 0 / 0
Регистрация: 02.12.2020
Сообщений: 135
|
|
Вычисление интеграла, использующее начальные значения разбиений31.10.2021, 13:36. Показов 2620. Ответов 20
Метки нет (Все метки)
Здравствуйте!
Объясните, пожалуйста, как вычислить интеграл, используя начальные значения разбиений? В подавляющем большинстве примеров в интернете я увидел, что общее количество разбиений известно, в отличии от моего случая. Задание: Вычислить значение определенного интеграла от выбранной подынтегральной функции и заданных с клавиатуры интервала интегрирования, точности и двух значений начальных разбиений. Например, методом левых прямоугольников. Если более конкретно, то мне не понятно, как связать начальные значения разбиений и общее количество разбиений.
0
|
|
| 31.10.2021, 13:36 | |
|
Ответы с готовыми решениями:
20
Вычисление значения интеграла Вычисление значения интеграла |
|
2158 / 1238 / 509
Регистрация: 11.10.2018
Сообщений: 6,280
|
|
| 31.10.2021, 13:48 | |
|
Здравствуйте. Метод левых прямоугольников - площадь делится на прямоугольники и при этом левый верхний угол касается заданного графика функции.
0
|
|
|
0 / 0 / 0
Регистрация: 02.12.2020
Сообщений: 135
|
|
| 31.10.2021, 13:54 [ТС] | |
|
FFPowerMan, то что Вы написали, я понимаю. Я не понимаю как связать начальные значения разбиений и общее количество разбиений.
0
|
|
|
2158 / 1238 / 509
Регистрация: 11.10.2018
Сообщений: 6,280
|
|
| 31.10.2021, 13:59 | |
|
Начальное количество разбиений n = 2, и считаем интеграл - это 1 итерация, потом умножаем n на 2 и делаем так итерации пока не будет достигнута необходимая точность эпсилон.
0
|
|
|
0 / 0 / 0
Регистрация: 02.12.2020
Сообщений: 135
|
||||||
| 31.10.2021, 16:04 [ТС] | ||||||
|
FFPowerMan, сейчас код исправил, но все равно результата нет... Подскажите, пожалуйста, что нужно еще исправить?
Сейчас проблема в том, что если вводимые данные такие: a = 0.5, b = 5.2, e = 0.001, n1 = 2, n2 = 3, то в выводе получается: "0.58750; 20.46850; 0.39167; 7.30502; 32.12627;". То есть цикл является бесконечным, следовательно программа не заканчивается.
0
|
||||||
|
2158 / 1238 / 509
Регистрация: 11.10.2018
Сообщений: 6,280
|
|||||||
| 31.10.2021, 16:15 | |||||||
0
|
|||||||
|
0 / 0 / 0
Регистрация: 02.12.2020
Сообщений: 135
|
|||||||
| 31.10.2021, 16:28 [ТС] | |||||||
|
FFPowerMan, я написал в своей программе,
Объясните, пожалуйста, почему Вы написали так: Значение начального разбиения - начальное значение интеграла?
0
|
|||||||
|
2158 / 1238 / 509
Регистрация: 11.10.2018
Сообщений: 6,280
|
|||||||
| 31.10.2021, 16:35 | |||||||
|
Чтобы цикл сработал у Вас не входил в цикл потому что 0 - 0 < eps.
Короче вот так:
0
|
|||||||
|
0 / 0 / 0
Регистрация: 02.12.2020
Сообщений: 135
|
|||
| 31.10.2021, 16:39 [ТС] | |||
|
FFPowerMan, почему 0 - 0, если получается 32.12627 - 20.46850?
0
|
|||
|
2158 / 1238 / 509
Регистрация: 11.10.2018
Сообщений: 6,280
|
||
| 31.10.2021, 16:42 | ||
|
0
|
||
|
0 / 0 / 0
Регистрация: 02.12.2020
Сообщений: 135
|
||
| 31.10.2021, 16:48 [ТС] | ||
|
FFPowerMan, в последней моей версии кода, что неправильно в данном фрагменте?
0
|
||
|
2158 / 1238 / 509
Регистрация: 11.10.2018
Сообщений: 6,280
|
|
| 31.10.2021, 16:52 | |
|
Я указал на недостатки, читаем мой код и исправляем ошибки.
В Вашем коде: не надо каждый раз умножать на h1, оно вынесено за скобки и также write не надо выводить на каждой итерации, здесь не надо, writeln потом; по поводу 0, что это ширина поля я уже сказал; все тоже самое для второй части. Добавлено через 35 секунд Не забываем про тэги кода [PASCAL][/PASCAL].
0
|
|
|
0 / 0 / 0
Регистрация: 02.12.2020
Сообщений: 135
|
|||||||
| 31.10.2021, 19:05 [ТС] | |||||||
|
FFPowerMan, скажите, пожалуйста, что у меня неправильно в приведенном ниже коде? Я полагаю, что шаг, так как я изменяю в цикле n, от которого обратно пропорционально зависит h.
Я так и не понял, значение начального разбиения это начальное значение переменной int1_1 или количество разбиений - n? (В условии написано - начальные разбиения, так как в результате надо вывести таблицу со строками n1 и n2. Поэтому исправленный код сделал относительно n1.)
0
|
|||||||
|
2158 / 1238 / 509
Регистрация: 11.10.2018
Сообщений: 6,280
|
|
| 31.10.2021, 19:33 | |
|
Функция теперь sqrt? Зачем менять функцию, еще больше запутаетесь.
0
|
|
|
0 / 0 / 0
Регистрация: 02.12.2020
Сообщений: 135
|
|
| 31.10.2021, 19:41 [ТС] | |
|
FFPowerMan, да.
0
|
|
|
2158 / 1238 / 509
Регистрация: 11.10.2018
Сообщений: 6,280
|
||
| 31.10.2021, 19:43 | ||
|
Мне кажется я правильно написал в сообщении №8, чем-то код не устраивает? Копипаст его, да и все. 2 Ваших интеграла должны в общем цикле считаться, а чтобы войти в цикл нужно просто любые 2 числа взять и присвоить int1 = 2 и int = 0, чтобы разница между ними была больше eps. Потом в цикле сразу заново их пересчитаете, да и все.
0
|
||
|
0 / 0 / 0
Регистрация: 02.12.2020
Сообщений: 135
|
|
| 06.11.2021, 13:22 [ТС] | |
|
Здравствуйте!
Некоторое время назад я задавал этот вопрос на этом же форуме, но собеседник не понял того, что мне не понятно, поэтому задаю вопрос второй раз. Есть такое задание: Вычислить значение определенного интеграла от выбранной подынтегральной функции и заданных с клавиатуры интервала интегрирования, точности и значения начального разбиения методом левых прямоугольников. Объясните, пожалуйста, чем является начальное разбиение? (например, начальным значением int или n) В интернете я нашел много примеров, где дается значение разбиения как константа, а не значение, которое вводит пользователь и которое судя по всему может изменяться. Вот формулы для этого метода:
0
|
|
|
0 / 0 / 0
Регистрация: 02.12.2020
Сообщений: 135
|
|||
| 06.11.2021, 13:53 [ТС] | |||
|
bormant, прочитайте, пожалуйста условие моей задачи с начала до конца, тогда Вы увидите, что там написано, что:
bormant, восстановите, пожалуйста, тему, которую я создал сегодня, чтобы другие пользователи ее тоже увидели и возможно помогли мне в решении проблемы.
0
|
|||
|
Модератор
|
||||||||
| 06.11.2021, 14:15 | ||||||||
Но, судя по всему, его -- ответа -- пока еще не поняли. Но не все еще потеряно, поверьте. Добавлено через 6 минут PS. Если интересны другие варианты вычисления интеграла, можно посмотреть там (левые, правые, центральные, прямоугольники, трапеция, Монте-Карло): https://www.cyberforum.ru/post10226890.html Вот там в функциях function Int*(a, b: Real; n: Word; f: TFunc): Real; -- a и b -- пределы интегрирования, f -- интегрируемая функция, n -- то самое количество разбиений, используемое при приближенном вычислении интеграла.
0
|
||||||||
| 06.11.2021, 14:15 | |
|
Помогаю со студенческими работами здесь
20
Вычисление значения интеграла на интервале [a, b] вычисление приближённого значения интеграла Вычисление значения определенного интеграла Вычисление значения определенного интеграла Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
Перемещение выделенных строк ТЧ из одного документа в другой
Maks 30.03.2026
Реализация из решения ниже выполнена на примере нетипового документа "ВыдачаОборудованияНаСпецтехнику" с единственной табличной частью "ОборудованиеИКомплектующие" разработанного в конфигурации КА2. . . .
|
Functional First Web Framework Suave
DevAlt 30.03.2026
Sauve. IO
Апнулись до NET10.
Из зависимостей один пакет, работает одинаково хорошо как в режиме проекта
так и в интерактивном режиме. из сложностей - чисто функциональный подход.
Решил. . .
|
Автоматическое создание документа при проведении другого документа
Maks 29.03.2026
Реализация из решения ниже выполнена на нетиповых документах, разработанных в конфигурации КА2.
Есть нетиповой документ "ЗаявкаНаРемонтСпецтехники" и нетиповой документ "ПланированиеСпецтехники".
В. . .
|
Настройка движения справочника по регистру сведений
Maks 29.03.2026
Решение ниже реализовано на примере нетипового справочника "ТарифыМобильнойСвязи" разработанного в конфигурации КА2, с целью учета корпоративной мобильной связи в коммерческом предприятии.
. . .
|
|
Автозаполнение реквизита при выборе элемента справочника
Maks 27.03.2026
Программный код из решения ниже на примере нетипового документа "ЗаявкаНаРемонтСпецтехники" разработанного в конфигурации КА2.
При выборе "Спецтехники" (Тип Справочник. Спецтехника), заполняется. . .
|
Сумматор с применением элементов трёх состояний.
Hrethgir 26.03.2026
Тут.
https:/ / fips. ru/ EGD/ ab3c85c8-836d-4866-871b-c2f0c5d77fbc
Первый документ красиво выглядит, но без схемы.
Это конечно не даёт никаких плюсов автору, но тем не менее. . . всё может быть. . .
|
Автозаполнение реквизитов при создании документа
Maks 26.03.2026
Программный код из решения ниже размещается в модуле объекта документа, в процедуре "ПриСозданииНаСервере".
Алгоритм проверки заполнения реализован для исключения перезаписи значения реквизита,. . .
|
Команды формы и диалоговое окно
Maks 26.03.2026
1. Команда формы "ЗаполнитьЗапчасти".
Программный код из решения ниже на примере нетипового документа "ЗаявкаНаРемонтСпецтехники" разработанного в конфигурации КА2.
В качестве источника данных. . .
|