|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
16.02.2011, 19:24 | #1 |
Форумчанин
Регистрация: 11.02.2011
Сообщений: 140
|
Численное интегрирование. Проблема.
Вот программа, находит определенный интеграл методом левых прямоугольников.
Вроде все работает, но считает неверно. Кто может подсказать? Пределы интегрирования a=1 b=3, подинтегральное выражение в коде. #include <cstdlib> #include <iostream> #include <math.h> using namespace std; int main(int argc, char *argv[]) { int i,n; float a,b,x,f,d,s,y,h; cout <<"vvedite a ";cin>>a; cout <<"vvedite b ";cin>>b; cout <<"vvedite n ";cin >>n; h=(b-a)/n; s=0; x=a; for (i=0;i<=n-1;i++) { f = pow(x,x)*(1+log10(x)); s=s+f; cout<<" f= "<<f; x=x+h; } y=s*h; cout<<" y= "<<y; system("PAUSE"); return EXIT_SUCCESS; } В матлабе, в интернете и в ехеле ответ 26. У меня около 18. При любом количестве узлов.
Хочу шарить как Daramant!!!
Последний раз редактировалось nikozavr; 16.02.2011 в 19:26. |
16.02.2011, 19:29 | #2 |
Регистрация: 24.01.2011
Сообщений: 9
|
Дан двумерный массив размерностью Nx(в квадрате) увеличить все элемены находящиеся выше главной диагонали в пать раз.Вывести полученный массив.
|
16.02.2011, 19:41 | #3 | |
Форумчанин
Регистрация: 11.02.2011
Сообщений: 140
|
Цитата:
Что за бред!
Хочу шарить как Daramant!!!
|
|
16.02.2011, 20:35 | #4 | |
Пользователь
Регистрация: 02.02.2011
Сообщений: 92
|
Цитата:
Ответ 26 получается, если десятичный логарифм заменить натуральным. Вы не перепутали случаем log и log10 ? |
|
16.02.2011, 22:30 | #5 |
Форумчанин
Регистрация: 11.02.2011
Сообщений: 140
|
Блин, ну я и дятел. Конечно перепутал. Спасибо.
Может еще кто подскажет, как учесть в данной программе точность 0.001?
Хочу шарить как Daramant!!!
|
17.02.2011, 14:01 | #6 |
Пользователь
Регистрация: 02.02.2011
Сообщений: 92
|
Для монотонно возрастающей функции
I1 <= I <= I2 I - точное значение интеграла I1 - приближение "левыми" прямоугольниками I2 - приближение "правыми" прямоугольниками |
17.02.2011, 19:24 | #7 |
Форумчанин
Регистрация: 11.02.2011
Сообщений: 140
|
Извините не догнал. Как это в коде реализовать?
Хочу шарить как Daramant!!!
|
18.02.2011, 16:10 | #8 |
Пользователь
Регистрация: 02.02.2011
Сообщений: 92
|
...
y=s*h; float z = (s - f(a) + f(b))*h; float precision = z -y; cout<<" y= "<<y << " precision= " << precision << endl; system("PAUSE"); return EXIT_SUCCESS; |
20.02.2011, 15:22 | #9 |
Форумчанин
Регистрация: 11.02.2011
Сообщений: 140
|
А где же тут точность?
Хочу шарить как Daramant!!!
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Численное интегрирование | abs123 | Паскаль, Turbo Pascal, PascalABC.NET | 1 | 26.12.2010 22:43 |
численное интегрирование методом Симпсона: трудности с блок-схемой | smalljoke | Помощь студентам | 0 | 26.11.2010 02:34 |
Численное решение ДУ | DartDayring | Общие вопросы C/C++ | 1 | 22.11.2010 00:01 |
Численное интегрирование в делфи | Ира91 | Помощь студентам | 0 | 18.10.2010 21:45 |