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

Вычисление двойного интеграла методом ячеек - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Найти площадь вогнутого многоугольника http://www.cyberforum.ru/cpp-beginners/thread276396.html
пожалуйста, народ, помогите (подскажите) как найти площадь вогнутого многоугольника? при условии,что вершин больше 3.
C++ Очистка памяти при создании массива указателей Здравствуйте. Было дано задание создать класс Library, в котором будет реализован массив указателей класса Total и метод для подсчета средней суммы из всего этого массива. В main() в цикле while происходит создание указателей Total, а затем очистка памяти. Пытался реализовать следующим образом, однако понимаю, что в таком случае проблема с памятью неизбежна. Подскажите, как можно реализовать... http://www.cyberforum.ru/cpp-beginners/thread276363.html
C++ Сохранениє и открытие картинок в PaintBox
Как реализовать сохранениє и откритиє картинок в PaintBox1->Canvas?? Помогите пожалуста, наперед спасибо)
C++ Строение блок схем к программам
Построить блок схемы к программам 1 #include<stdio.h> #include<conio.h> const int n=10; void main() { clrscr(); int cnt=0; int ch={0,1,2,3,4,5,6,7,8,9},i; for(i=0;i<n;i++)
C++ Заполнение лидирующими нолями при неравном размере строк http://www.cyberforum.ru/cpp-beginners/thread276346.html
Решил попробовать длинную арифметику... Начал с суммы. Реализовал собственно сумму и застопорился на добавлении лидирующих нолей=\ Например, есть 2 строки-"123" и "12345", первую необходимо привести к виду "00123" Получилось у меня примерно такое(не работает вообще) void nol(char a,char b){ int i; if (strlen(a)>strlen(b)) for (i = strlen(b)-2; i >=0; i--) { //хотел пройтись циклом с...
C++ Реализовать n-арное дерево в виде класса Помогите решить задачу. Нужно реализовать дерево в виде класса. Так же в классе нужно написать методы(функции) поиск елемента по индексу, добавления нового елемента к существующему по введенному индексу. Что-то никак неполучается реализовать функции добавления и поиска елементов. Вот что-то я написал но ничего никак не работает. #include <iostream> #include <stdio.h> #include <stdlib.h>... подробнее

Показать сообщение отдельно
IrineK
Заблокирован
15.04.2011, 02:55     Вычисление двойного интеграла методом ячеек
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
#include <iostream>
#define m 1000  //кво разбиений по Х
#define n 1000  //кво разбиений по У
 
double f(double x, double y)
{   return x*x+x*y-y*y;     //наша функция 
}
 
int main()
{
    double a = 0.0, b = 5.0, c = 0.0, d = 8.0; //пределы интегрирования по х(a,b), y(c,d)
    double integral = 0.0;  //начальное значение интеграла
    int i,j;
 
    double dx = (b-a)/m;
    double dy = (d-c)/n;
    double x0,y0,x1,y1;
 
    for(i=1, x0=a; i<m+1; i++)
    {   x1 = x0+dx;
        for(j=1, y0=c; j<n+1; j++)
        {   y1 = y0+dy;
            integral += f((x0+x1)/2.,(y0+y1)/2.); //накопление интегральной суммы
            y0 = y1;
        }
        x0 = x1;
    }
 
    integral *= dx*dy;
    std::cout<<"\nI = "<<integral<<"\n"; //результат
 
    std::cin.get();
    return 0;
}

Считает интеграл от x^2+x*y-y^2 в пределах по Х от 0 до 5, по У от 0 до 8.
Прямое интегрирование дает -120.
При очень мелком разбиении ~ 1000 получаем практически точный ответ -120.
 
Текущее время: 18:03. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru