Посчитать определенный интеграл функции методом правых прямоугольников
Есть функция и нужно найти её приближенный интеграл методом правых прямоугольников на с++ вот сама функция:
x∈[-1;1]
Попробовал написать код по информации которую нашел на ютубе, но код не рабочий
#include <iostream>
#include <cmath>
using namespace std;
float f(double x, double t){
return pow(t,2)*asin(x*t);
}
int main() {
int t, n;
float sum = 0.0,h;
n = 1;
cout << "Введите t:\n";
cin >> t;
h = 1.0/20;
for(double i = -1; i <= n; i+=1){
sum += f(i,t) * h;
}
cout << sum;
return 0;
}
Помогите написать корректное решение данной задачи.
Заранее спасибо.
Ответы (1 шт):
Автор решения: Harry
→ Ссылка
Да тут же делать нечего!
double f(double x, double t)
{
return t*t*asin(t*x);
}
double y(double x)
{
const int n = 1000; // Решайте сами...
double h = 1.0/n;
double sum = 0;
for(int i = 1; i <= n; ++i)
sum += f(x,i*h);
return sum*h;
}
При n=1000 для x = 0.5 получается 0.1291 при точном значении 0.1288.
