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

Метод Ньютона для нелинейных систем. Нужно найти ошибку - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Подсчитать сумму нечетных отрицательных элементов массива между первым и вторым нулевыми элементами http://www.cyberforum.ru/cpp-beginners/thread1048689.html
Подсчитать сумму нечетных отрицательных элементов массива между первым и вторым нулевыми элементами.
C++ Найти произведение элементов массива, расположенных между максимальным по модулю и минимальным по модулю элементами Дан одномерный массив, состоящий из N вещественных элементов. Найти произведение элементов массива, расположенных между максимальным по модулю и минимальным по модулю элементами. Выведите искомое произведение с 3 знаками после десятичной точки или 0, если между максимальным и минимальным по модулю элементом нет других элементов. Напишите код с++ http://www.cyberforum.ru/cpp-beginners/thread1048681.html
C++ Реализация алгоритма Дейкстры
Кто может подсказать (или указать где найти) код алгоритма Дейкстры на С++?
Вычислить сумму ряда через for C++
Вычислить сумму ряда, указанного в варианте задания для любого значения N, введенного с клавиатуры.Через for
C++ Реккурентная формула http://www.cyberforum.ru/cpp-beginners/thread1048652.html
Помогите пожалуйста с составлением реккурентной формулы
C++ К четным элементам целочисленного массива прибавить данное число а, а из элементов с четными номерами вычесть данное число b. К четным элементам целочисленного массива прибавить данное число а, а из элементов с четными номерами вычесть данное число b. подробнее

Показать сообщение отдельно
alexandrmironov
0 / 0 / 0
Регистрация: 20.10.2013
Сообщений: 3
19.12.2013, 19:07     Метод Ньютона для нелинейных систем. Нужно найти ошибку
Здравствуйте!
Задача заключается в решении системы нелинейных уравнений методом Ньютона.
Система
2x^3 - y^2 -1=0;xy^3-y-4=0, начальное приближение x0=1,y0=1

Код программы:
Код
#include <iostream>
#include <math.h>
using namespace std;
 
#define eps 0.0001
 
double st(float a,int b){ for(int i=0;i<b; i++)	a*=a; return a;}
double function1(float x, float y){	 return (2*(st(x,3))-(st(y,2))-1);}
double function2(float x,float y){ return (x*(st(y,3))-y-4);}
double func11(float x,float y){ return (6*(st(x,2)));}
double func12(float x,float y){  return (-2*y);}
double func21(float x,float y){ return(st(y,3));}
double func22(float x,float y){ return (3*x*(st(y,2))-1);}
 
void main()
{
    double x, y;
    cout << "x = ";
    cin >> x ;
    cout << "y = ";
    cin >> y;
	
	 double a[2][2], dx, dy, b[2], norm;
	 norm=eps+1;
	 for(int i = 1;norm >= eps;i++){
   
    
    {
        a[0][0] = func11(x, y);
        a[0][1] = func12(x, y);
        a[1][0] = func21(x, y);
        a[1][1] = func22(x, y);

        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;

        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++;
	}}
   
cout << x << endl << y << endl;

  
}
/*В конце выдает ошибку*/ Выводит что-то непонятное. Прошу помощи.
[IMG=https://d2oawfjgoy88bd.cloudfront.net/5066df08e4b0113a9e156a7f/5066df88e4b0113a9e156aba/52b30a81888b9d1605ff32b2.png?Expires=1387551764&Signature=nHtliwoWl-yVoxWKJTlGFdxJaWCx6SVortthK7ri7PSLxOgZR-9I-CEIGP6y3blZx5r4KqR6Gz7V1Hx4p0lruernMicH1LFBxM4zcN1xjBPk~gPNu-CjJbLgY0EqQzqdriVDLixFiqcqEcMnh8pBj3IOpDHF9UP3wcQGuLVdeGzlADOKEAX0yhrcMfvz0RLn~4gMxRSP4OVvnM-W7NaMtjmwE4mNyACKNkxl31RvEyQ5SGAi1jhx435tw4xVtxPf5GZKXBCgnyPr3NXtyLpB-K26LwKUnyMEZy0Pa5YZF1xly8xBbpY37PpSW12ywybk0yMezqqcmP~4JR~flTmpeA__&Key-Pair-Id=APKAJHEJJBIZWFB73RSA]

Добавлено через 7 минут
http://take.ms/do4Mi
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
Текущее время: 00:35. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru