Форум программистов, компьютерный форум CyberForum.ru

метод Симпсона - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ литература по... http://www.cyberforum.ru/cpp-beginners/thread359535.html
Подскажите хорошую литература по темам создания клиент-серверных приложений, приложений для работы с удаленными БД. Есть ли библиотеки, максимально облегчающие рутинную работу, связанную с такими приложениями? кроме QT.
C++ Как узнать тип вводимых данных с помощью перегрузки функции? Такое условие задачки: Пользователь вводит данные, а ему программа говорит, какой тип этих данных. Нужно сделать это с помощью перегрузки функций на C++. Я пока додумался, как сие сделать путем конвертирования одного типа в другой, и если переменная после конвертации "туда-сюда" осталась неизменной, значит это ее тип. Вот что-то наподобие этого: char string; cin >> string; ... http://www.cyberforum.ru/cpp-beginners/thread359528.html
C++ Шифр Альберти
Нужен исходник шифрующий некоторое сообщение по шифру Альберти. Есть ли у кого-нибудь такой? В инете искал, ничего подходящего не нашел (.
C++ Не правильно выводит значение (if, else)
Неправильно выводит Плату за стоянку, помогите с условием #include "stdafx.h" #include<iostream> using namespace std; double calcCharges(double x) { double charge; if ( x <= 3 )
C++ Веб-браузер http://www.cyberforum.ru/cpp-beginners/thread359499.html
Решил написать веб-браузер но, знания о C++ слишком малы. помогите мне надо для своей ОС.
C++ Небольшое исправление (2) Собственно нужно при нажатии кнопки " ' " нужно вывести на экран содержимое первого окна в новом окне с кнопкой ОК. Сама кнопка работает, только не выводит текста, выводит ошибку преобразования string в char. Прошу помощи. #include <windows.h> #include <string> using namespace std; LRESULT CALLBACK WindowProcedure (HWND,UINT,WPARAM,LPARAM); char szClassName ="Мой класс оконный"; int... подробнее

Показать сообщение отдельно
Ruslan4ik89
0 / 0 / 0
Регистрация: 02.10.2011
Сообщений: 4
02.10.2011, 20:57     метод Симпсона
Может кто помочь? необходимо решить интеграл
с точностью 10^-6 для а, изменяющегося от 0 до 5 с шагом 1. Используя метод Симпсона
Не получается сделать вычисление для изменяющегося параметра а... считает только для 1 изначально заданного условия. может кто подправить???


C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
 /*Вычисление интеграла (2/pi^1/2)*(x^1/2)/1+e^(1-a)) Методом Симпсона */
 
 #include <iostream>
 #include <math.h> //Подключаем библиотеки
 #include <iomanip>
 using namespace std;
 double e=2.718281828459045; //Объявляем константы
 double pi=3.1415926535897;
 double f ( double x)
 {
 for(int a=0;a<=5;a++)
 {
 
 double fn=fn=(2/pow(pi,0.5))*(pow(x,0.5)/(1+pow(e,x-0))); //Функция f(x)
 return fn;
 }
 }
 double Simpson ( double a, double b, double e) //Реализация метода Симпсона. В качестве параметров функция принимает
 //Пределы интегрирования и точность вычисления
 {
 int n=7; //Первоначально разбиваем промежуток a,b на n частец
 double h=(b-a)/n; //Вычисляем шаг
 double x2, S, I2, I1, w; //Переменные необходимые для расчетов
 int k=1; //Задаём начальные
 I1=0; //Параметры 
 double s0=f(a)+f(b); //Находим чему равна сумм значений функций на концах отрезка
 do 
 {
 double x1=a+h; //Делаем шаг
 S=0; 
 for (int i=1; i<n; i++)
 {
 double s=(k+3)*f(x1);
 k=-k;
 x2=x1+h; //Этим циклом найдем сумму значений функции в узлах интегрирования
 x1=x2; 
 S+=s;
 
 }
 
 x1=0;
 
 n=2*n; //Удваиваем количество разбиений
 cout<<"kol razbien: "<<n<<endl; 
 double h1=(b-a)/n; //Вычисляем новый шаг
 I2=h/3.*(s0+S); //Находим значение интеграла на малом участке
 w=fabs(I2-I1); //Вычисляем модуль разности нового значения интеграла и того что было
 I1=I2;
 h=h1;
 
 } while (w>e); //цикл do работает пока не будет достигнута нужная точность
 return I2;
 }
 
 void main()
 {
 double a, b, e; //Пределы интегрирования и точность
 a=0.0000001; b=20; e=0.0000001;
 cout<<" integr: "<<setprecision(8)<<Simpson(a,b,e)< <endl; //Вызываем функцию
 }
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
Текущее время: 08:53. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru