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

метод Ньютона для решения системы нелинейных уравнений - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Синтезатор на С++ http://www.cyberforum.ru/cpp-beginners/thread819242.html
На ОПИ задали сделать проект, тема любая. Пришла мне в голову такая идея, сделать синтезатор(электро-пианина) на С++(неочень сложный по исполнению). В принципе я примерно представляю как ето сделать, но интересует пока одно: каждой ноте(звуку) будет отвечать оператор(или метод, пока несуть) Можно както сделать так чтоб можно было одновременно играть два и больше звука(от одновременного нажатия...
C++ сохранение строки массива в отдельный массив Задача: сохранить одну строку массива в отдельный массив для передачи его аргументом в функцию. Проблема: в массив str сохраняется только количество элементов равное номеру строки. Т.е: (все что выделено синим должно быть O, но судя по всему массив не получил данных) str=OMMM str=OOMM str=OOOM str=OOOO const int n=4; char A,str; //все элементы массива A равны O (английская буква) int... http://www.cyberforum.ru/cpp-beginners/thread819227.html
C++ не могу до конца разобраться с классами(наследование)
Условие задания:(Композиция и иерархия). Создать класс двигатель, имеющий мощность. Определить конструкторы и метод доступа. Создать класс машин, содержащий класс двигатель. Дополнительно есть марка (указатель на строку), цена. Определить конструкторы и деструктор. Определить public- производный класс грузовик, имеющий дополнительно грузоподъемность. Определить конструкторы, деструкторы и функцию...
C++ Доступ из вложенного класса к членам "родителя"
Доброго времени суток. Есть такой класс: class XML { protected: int root; public: class reader { public:
C++ 'to_string' was not declared in this scope http://www.cyberforum.ru/cpp-beginners/thread819212.html
Использую QT 5 тоесть не видет ету функцию, стрінг подключил, что делать??
C++ vector(выскакивает ошибка "vector iterators incompatible") Доброго времени суток! имеется следующий код: // obr.cpp : Defines the entry point for the console application. // #include "stdafx.h" #include <iostream> #include <iomanip> #include <algorithm> #include <vector> подробнее

Показать сообщение отдельно
manyak666
0 / 0 / 0
Регистрация: 26.03.2013
Сообщений: 7
26.03.2013, 18:46     метод Ньютона для решения системы нелинейных уравнений
Здравствуйте! Нужно решить методом Ньютона систему уравнений с точностью 0.0001:
sin(x+y) - 1.2x = 0
x*x + y*y =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
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
#include <iostream>
#include <math>
using namespace std;
 
#define eps 0.0001
 
double function1(double x, double y)
{
    return sin(x + y) - 1.2*x;
}
 
double function2(double x, double y)
{
    return x*x + y*y - 1;
}
 
double func11(double x, double y)
{
    return cos(x + y) - 1.2;
}
 
double func12(double x, double y)
{
    return cos(x + y);
}
 
double func21(double x, double y)
{
    return 2*x;
}
 
double func22(double x, double y)
{
    return 2*y;
}
 
void ober_matr(double a[2][2])
{
    double det, aa;
    det = a[0][0]*a[1][1] - a[0][1]*a[1][0];
    aa = a[0][0];
    a[0][0] = a[1][1]/det;
    a[1][1] = aa/det;
    aa = a[0][1];
    a[0][1] = -a[1][0]/det;
    a[1][0] = -aa/det;
}
 
void nuton(double x, double y)
{
    int i = 1;
    double a[2][2], dx, dy, b[2], norm;
    do
    {
        a[0][0] = func11(x, y);
        a[0][1] = func12(x, y);
        a[1][0] = func21(x, y);
        a[1][1] = func22(x, y);
        ober_matr(a);
        dx = -a[0][0]*function1(x, y) + -a[0][1]*function2(x, y);
        dy = -a[1][0]*function1(x, y) + -a[1][1]*function2(x, y);
        x = x + dx;
        y = y + dy;
        b[0] = function1(x, y);
        b[1] = function2(x, y);
        norm = sqrt(b[0]*b[0]+b[1]*b[1]);
        i++;
    }
    while (norm >= eps);
cout << x << endl << y << endl;
}
void main()
{
    double x, y;
    cout << "x = ";
    cin >> x ;
    cout << "y = ";
    cin >> y;
    nuton(x, y);
    cout << endl;
    system("PAUSE");
}
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
Текущее время: 02:18. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru