Форум программистов, компьютерный форум, киберфорум
Наши страницы

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
alexandrmironov
0 / 0 / 0
Регистрация: 20.10.2013
Сообщений: 3
#1

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

19.12.2013, 19:07. Просмотров 186. Ответов 0
Метки нет (Все метки)

Здравствуйте!
Задача заключается в решении системы нелинейных уравнений методом Ньютона.
Система
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
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
19.12.2013, 19:07
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Метод Ньютона для нелинейных систем. Нужно найти ошибку (C++):

Исправить код метод Ньютона для решения систем нелинейных уравнений под нужное условие - C++
Данный код для решения системы ax+tg(xy)=0; (y^2-b^2)+lnx=0 Перепишите его,пожалуйста для системы 2x-y-10=0 5x^2-20y^2-100=0 ...

Метод Ньютона для решения системы нелинейных уравнений - C++
Здравствуйте! Нужно решить методом Ньютона систему уравнений с точностью 0.0001: sin(x+y) - 1.2x = 0 x*x + y*y =1 Вот моя программа,...

Метод Ньютона для решения нелинейных уравнений: узнать количество итераций - C++
Задание: реализовать метод Ньютона для решения нелинейных уравнений, в итоге получить: значение неизвестной и количество итераций,...

Курсовая работа "Решение систем нелинейных уравнений Методом Ньютона" - C++
РЕбят помогите, горю, курсач через 3 дня сдавать, а я все время работал и теперь просто без вашей помощи пропаду. Тема &quot;РЕшение систем...

Исследовать итерационный метод- метод касательных для решения нелинейных уравнений - C++
прочитал много всего , но сам пример реализовать никак не могу , кто может помогите F(x) = x5+5x+1=0 с...

Метод деления отрезка пополам для решения нелинейных уравнений (метод дихотомии) - C++
Здравствуйте. Помогите пожалуйста дописать программу. Вот что вымучал, но на сдаче завалили, типо нет вывода корней, не рассмотрены...

0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
19.12.2013, 19:07
Привет! Вот еще темы с ответами:

Метод хорд для решения системы нелинейных уравнений - C++
Здравствуйте, задал вопрос по чисмету вот тут http://www.cyberforum.ru/numerical-methods/thread1529078.html#post8064137 Не знаю,...

Метод Ньютона для СЛАУ - C++
Здравствуйте требуется написать написать программу, ищущую решение системы(вложения), с указанной точностью и уже данным значениями...

Метод Ньютона для системы двух уравнений - C++
Здравствуйте! помогите, пожалуйста, чайнику от программирования написать код) смысл заключается в том, что нужно создать программу,...

Метод Ньютона и итераций для нелинейного уравнения - C++
Всем доброго времени суток) Помогите реализовать программу на С++ решающую уравнение 2x-2*x2-1=0 методом итерации и методом Ньютона: ...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
1
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru