Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.67/15: Рейтинг темы: голосов - 15, средняя оценка - 4.67
1 / 1 / 0
Регистрация: 18.06.2011
Сообщений: 62

Интегрирование полинома, считанного из файла

18.06.2011, 16:53. Показов 2963. Ответов 5
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Из файла считывается степень полинома и его коэффициенты. Например,
==============
5
1 2 3 4 5 6
==============
~ 1 + 2*x + 3*x^2 + 4*x^3 + 5*x^4 + 6*x^5

Затем с клавиатуры вводятся пределы интегрирования.
Для полинома производится вычисление интеграла на заданном интервале с помощью метода трапеций (http://www.machinelearning.ru/... 0%B8%D0%B9 http://www.matmetod.ru/method_trapezium_reference) и с помощью метода Монте-Карло (http://ru.wikipedia.org/wiki/%... 0%BB%D0%BE)
Количество точек для интегрирования задаётся с клавиатуры. Результаты численного интегрирования сравниваются по абсолютной величине.
Для формулы трапеций необходимо рассчитать величину погрешности.



Вот. В проге парю очень слабо.Сможете помочь?

 Комментарий модератора 
Именуйте темы осмысленно! Название темы должно максимально полно отражать её содержимое.


Добавлено через 2 часа 0 минут
Это очень сложно?
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
18.06.2011, 16:53
Ответы с готовыми решениями:

Обработка массива, считанного из файла; найти ошибку
Есть задание: программа считывает из файла массив целых чисел. Найти максимум (max) и минимум (min) среди них, после чего найти среднее...

Символьное интегрирование полинома
Выручайте. Произвести символьное интегрирование полинома, который задается структурой вида: a+b*x+c*x^2+d*x^3+… Аргументы: исходный...

Передача считанного файла через pipe
прошу помощи разобраться с чтением файла и передачей прочитанных данных через анонимный pipe сам смысл задачи:программа запускается из...

5
Эксперт С++
 Аватар для grizlik78
2382 / 1666 / 279
Регистрация: 29.05.2011
Сообщений: 3,402
18.06.2011, 17:30
Цитата Сообщение от Kamino Посмотреть сообщение
Это очень сложно?
Да нет, не сложно. Вот все и думают — в чём же проблема? Что не получается?
Ну вот, для начала, программа, которая считает значение многочлена в заданной точке
C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
#include <stdio.h>
 
double poly(double *pa, unsigned degree, double x)
{
    double sum = *pa++;
    double x_i = x;
    while (degree--)
    {
        sum += *pa++ * x_i;
        x_i *= x;
    }
    return sum;
}
 
int main()
{
    double array[] = { 4., 3., 2. };
    unsigned const size_a = sizeof(array)/ sizeof(*array);
    unsigned degree = size_a - 1;
    double x = 2.;
    printf("poly(%g) = %g\n", x, poly(array, degree, x));
    return 0;
}
Осталось только прикрутить считывание файла с динамическим выделением памяти и реализовать оба этих несложных метода интегрирования.
Так в чём проблема?
1
1 / 1 / 0
Регистрация: 18.06.2011
Сообщений: 62
19.06.2011, 13:51  [ТС]
Спасибо. Будем разбираться

Добавлено через 17 часов 30 минут



а эти методов случайно тут нет?
0
Эксперт С++
 Аватар для grizlik78
2382 / 1666 / 279
Регистрация: 29.05.2011
Сообщений: 3,402
19.06.2011, 14:06
На форуме? Подозреваю, что есть. Надо поискать.
Метод трапеций (не проверял):
C++
1
2
3
4
5
6
7
double a = 0.0, b = 1.0; // пределы интегрирования
int k = 100; // количество точек
double delta = (b - a)/(k-1); // расстояние между точками
double s1 = 0.5*(poly(array, degree, a) + poly(array, degree, b));
for (int i = 1; i < k; ++i)
    s1 += poly(array, degree, a+k*delta);
s1 *= delta; // результат интегрирования методом трапеций
А методом Монте-Карло надо выбирать случайные точки из диапазона и усреднять значение функции по этим точкам. Потом умножить на интервал интегрирования.
1
1 / 1 / 0
Регистрация: 18.06.2011
Сообщений: 62
19.06.2011, 14:09  [ТС]
Ты меня просто спасаешь. Спасибо большое.Будем сейчас разбираться

 Комментарий модератора 
Кросспостинг
0
Эксперт С++
 Аватар для grizlik78
2382 / 1666 / 279
Регистрация: 29.05.2011
Сообщений: 3,402
19.06.2011, 14:12
Всё-таки предел в цикле неправильный
C++
1
2
3
4
5
6
7
double a = 0.0, b = 1.0; // пределы интегрирования
int k = 100; // количество точек
double delta = (b - a)/(k-1); // расстояние между точками
double s1 = 0.5*(poly(array, degree, a) + poly(array, degree, b));
for (int i = 1; i < k-1; ++i)
    s1 += poly(array, degree, a+k*delta);
s1 *= delta; // результат интегрирования методом трапеций
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
19.06.2011, 14:12
Помогаю со студенческими работами здесь

Создать новую строку из N первых символов считанного из файла строки и E последних символов другой строки
Создать новую строку из N первых символов считанных из файла строк и E последних символов другой строки, Который вводится пользователем с...

Задача интерполяции методом полинома Ньютона и полинома Лагранжа
Решить задачу интерполяции методом полинома Ньютона и полинома Лагранжа 1 2 4 5 8,35 9,42 10.12 9,45

Интегрирование с заменой переменных или интегрирование по частям?
Не знаю как решить, не получается \int ({x}^{2}+1){3}^{x}dx

Заполнить массив цифрами числа, считанного через cin
Здрасти, как ввести в массив int mMass число 12345 с помощью cin&gt;&gt;? Нужно чтобы в mMass записалась 1, в mMass записалась 2 .... и...

Лишние символы при выводе только что считанного массива
Доброй ночи. При выполнении одного из заданий столкнулся с тем, что паскаль при считывании текстового файла, заполнения массива и вывода...


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

Или воспользуйтесь поиском по форуму:
6
Закрытая тема Создать тему
Новые блоги и статьи
http://iceja.net/ сервер решения полиномов
iceja 18.01.2026
Выкатила http:/ / iceja. net/ сервер решения полиномов (находит действительные корни полиномов методом Штурма). На сайте документация по API, но скажу прямо VPS слабенький и 200 000 полиномов. . .
Первый деплой
lagorue 17.01.2026
Не спеша развернул своё 1ое приложение в kubernetes. А дальше мне интересно создать 1фронтэнд приложения и 2 бэкэнд приложения развернуть 2 деплоя в кубере получится 2 сервиса и что-бы они. . .
Расчёт переходных процессов в цепи постоянного тока
igorrr37 16.01.2026
/ * Дана цепь постоянного тока с R, L, C, k(ключ), U, E, J. Программа составляет систему уравнений по 1 и 2 законам Кирхгофа, решает её и находит: токи, напряжения и их 1 и 2 производные при t = 0;. . .
Восстановить юзерскрипты Greasemonkey из бэкапа браузера
damix 15.01.2026
Если восстановить из бэкапа профиль Firefox после переустановки винды, то список юзерскриптов в Greasemonkey будет пустым. Но восстановить их можно так. Для этого понадобится консольная утилита. . .
Изучаю kubernetes
lagorue 14.01.2026
А пригодятся-ли мне знания kubernetes в России?
Сукцессия микоризы: основная теория в виде двух уравнений.
anaschu 11.01.2026
https:/ / rutube. ru/ video/ 7a537f578d808e67a3c6fd818a44a5c4/
WordPad для Windows 11
Jel 10.01.2026
WordPad для Windows 11 — это приложение, которое восстанавливает классический текстовый редактор WordPad в операционной системе Windows 11. После того как Microsoft исключила WordPad из. . .
Classic Notepad for Windows 11
Jel 10.01.2026
Old Classic Notepad for Windows 11 Приложение для Windows 11, позволяющее пользователям вернуть классическую версию текстового редактора «Блокнот» из Windows 10. Программа предоставляет более. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru