Поможем написать учебную работу
Если у вас возникли сложности с курсовой, контрольной, дипломной, рефератом, отчетом по практике, научно-исследовательской и любой другой работой - мы готовы помочь.

Предоплата всего

Подписываем
Если у вас возникли сложности с курсовой, контрольной, дипломной, рефератом, отчетом по практике, научно-исследовательской и любой другой работой - мы готовы помочь.
Предоплата всего
Подписываем
Вариант B
Постановка задачи
Разработать программу нахождения значения определенного интеграла с помощью метода трапеций. Функция для интегрирования и интервал интегрирования приведены в таблице 5.
Исходные данные: интервал, количество разбиений отрезка, начальная точка.
Результат: значение интеграла.
Решение.
Предусмотреть проверку корректности данных.
Таблица 5 Задания для варианта В
№ варианта |
Функция для интегрирования |
Интервал интегрирования |
6 |
y = е sin(x) ·cos(sin(x)) |
[0;20] |
Математическая модель решения задачи
Метод трапеций
Ряд технологических задач требует увязки в математическое описание всей информации о процессе. Например, для математических моделей химико-технологических процессов одними из основных параметров, характеризующих процессы, являются концентрации реагирующих веществ, температура процесса и др. Как правило, большинство балансовых уравнений в химической технологии представлены системой интегральных и дифференциальных уравнений, в результате решения которых могут быть получены зависимости, характеризующие протекание процесса.
Часто на практике не удается вычислить интеграл аналитическим путем. В этих случаях применяют приближенные методы численного интегрирования.
Постановка задачи
Вычислить определенный интеграл
при условии, что а и b конечны и F(х) является непрерывной функцией х на всем интервале х[a,b].
Общий подход к решению задачи будет следующим. Определенный интеграл I представляет собой площадь, ограниченную кривой f(x), осью х и переменными х=а и х=b. Необходимо вычислить интеграл, разбивая интервал [a,b] на множество меньших интервалов, находя приблизительно площадь каждой полоски и суммируя их.
В зависимости от способа вычисления подынтегральной суммы существуют различные методы численного интегрирования (методы прямоугольников, трапеций, парабол, сплайнов и др.).
Схема алгоритма решения задачи
f(x):
Исходный текст программы
mainwindow.h
#ifndef MAINWINDOW_H
#define MAINWINDOW_H
#include <QMainWindow>
namespace Ui {
class MainWindow;
}
class MainWindow : public QMainWindow
{
Q_OBJECT
public:
explicit MainWindow(QWidget *parent = 0);
~MainWindow();
private slots:
void on_pushButton_clicked();
private:
Ui::MainWindow *ui;
};
#endif // MAINWINDOW_H
mainwindow.cpp
#include <stdio.h>
#include "qmath.h"
#include "mainwindow.h"
#include "ui_mainwindow.h"
#include "QString"
#include "QMessageBox"
MainWindow::MainWindow(QWidget *parent) :
QMainWindow(parent),
ui(new Ui::MainWindow)
{
ui->setupUi(this);
}
MainWindow::~MainWindow()
{
delete ui;
}
float F;
float Integral(float x)
{
F=exp(-sin(x))*cos(sin(x)); // Подинтегральная функция
return F;
}
void MainWindow::on_pushButton_clicked()
{
float i,n,a,b,dx,x,S,TotalSum;
S=0;
a=ui->lineEdit->text().toFloat();//начало интервала
b=ui->lineEdit_2->text().toFloat();//конец интервала
n=ui->lineEdit_3->text().toFloat();//количество разбиений
dx=(b-a)/n;
S+=Integral(a);
for(i=1;i<n;i++)
{
x=a+i*dx;
S+=2*Integral(x);
}
x=a+n*dx;
S+=Integral(x);
TotalSum=0.5*dx*S;
ui->label_7->setText(QString::number(TotalSum));
}
main.cpp
#include <QtGui/QApplication>
#include "mainwindow.h"
int main(int argc, char *argv[])
{
QApplication a(argc, argv);
MainWindow w;
w.show();
return a.exec();
}
Руководство пользователя
Для работы с данной программой необходимо два раза щелкнуть на значок исполнимого (exe) файла с именем "Программа B".
Для нахождения значения определенного интеграла необходимо ввести:
интервал интегрирования (по умолчанию используется [0;20]) и количество разбиений отрезка.
После этого нажать кнопку «Вычислить».
Результат вычисления выведется в соответствующую форму.
Для выхода из программы используйте кнопку «Выход».
Результаты работы программы
Входные данные |
Вариант 1 |
Вариант 2 |
Вариант 3 |
а верхняя граница |
0 |
5 |
10 |
b нижняя граница |
20 |
15 |
25 |
n количество отрезков разбиения |
3 |
4 |
5 |
Результаты расчета |
Вариант 1 |
Вариант 2 |
Вариант 3 |
f искомое значение интеграла |
10.9803 |
9.32214 |
15.1242 |
Тестовые примеры
Пример работы программы с верно введенными данными:
Пример работы программы с неверно введенными данными: