код для рассчёта интегралов

Тема в разделе "WASM.A&O", создана пользователем cupuyc, 5 фев 2010.

  1. cupuyc

    cupuyc New Member

    Публикаций:
    0
    Регистрация:
    2 апр 2009
    Сообщения:
    763
    есть идейка написать несколько базовых классов для численных методов - нужно провести рассчёты по диплому, рассчёты нужны для другой проги, и хочу чтобы они выполнялись автоматически. задача - аппрокчимировать аналитическую функцию полиномом. для этого придётся вычислить значения двойного интеграла, решить систему линейных уравнений и пр. мелочь.
    вот думаю как лучше реализовать.

    Код (Text):
    1. class CFunction
    2. {
    3. public:
    4.   virtual double get_value(double arg) = 0;
    5. };
    6.  
    7. class CIntegral
    8. {
    9. private:
    10.   CFunction *m_p_func;
    11. public:
    12.   CIntegral(CFunction *p_function) {m_p_func = m_p_func;}
    13.   void set_limits(..);
    14.   void set_steps_count(..);
    15.   double calculate(..);
    16. };
    т.к. интеграл нужно рассчитывать двойной то думаю как-то абстрагироваться от конкретных CIntegral и аргументов.. типа, в качестве CFunction использовать CIntegral.. вобщем не могу придумать оптимальную иерархию классов..
     
  2. S_Alex

    S_Alex Alex

    Публикаций:
    0
    Регистрация:
    27 авг 2004
    Сообщения:
    561
    Адрес:
    Ukraine
    Для такого рода задач есть спец. пакеты ПО.
    MathCad, MabLab ...

    MathCad - у меня вел расчет курсового по ТАУ, исходные данные только номер варианта.
    Если данные были нормальными, то конечный результат был за 20сек. Некие варианты проходилось подгонять, ну минут 5 мак. Удобен очень для начинающего, так как формулы имеют точно натойже вид как в книжке. Т.е. взял формулу интеграла и почти как в книге "вколбасил" ее. И получил результат.
     
  3. iamlamer

    iamlamer New Member

    Публикаций:
    0
    Регистрация:
    20 июн 2005
    Сообщения:
    273
    Адрес:
    Russia
    Для такого рода задач есть спец. библиотеки с исходниками на разных языках.
    Numerical Recipes...

    h**p://www.nr.com/oldverswitcher.html
     
  4. cupuyc

    cupuyc New Member

    Публикаций:
    0
    Регистрация:
    2 апр 2009
    Сообщения:
    763
    iamlamer пытаюсь подрубить alglib.
     
  5. r90

    r90 New Member

    Публикаций:
    0
    Регистрация:
    26 ноя 2005
    Сообщения:
    898
    Я ближе к окончанию универа все вычисления проводил в maxima, и символьные, и численные. Очень удобно, всё сосчитал, выдрал TeX-код для промежуточных и конечных выражений, воткнул в текст. Скомпилировал/распечатал отнёс преподу. И не надо долго формулы набирать, и можно быть уверенным в том, что все промежуточные преобразования выполнены безошибочно.
     
  6. maksim_

    maksim_ New Member

    Публикаций:
    0
    Регистрация:
    15 июл 2009
    Сообщения:
    263
    r90 рассчёты нужно автоматизировать. типа, меняешь какой-нибудь параметр - у тебя сразу же в исходники другой проги прошивается другой полином. так что стандартные пакеты, типа maple не подходят. с алглиб уже разобрался - всё шикарно работает. сам удивился :)))
     
  7. maksim_

    maksim_ New Member

    Публикаций:
    0
    Регистрация:
    15 июл 2009
    Сообщения:
    263
    cupuyc из под этого логина