2014 dxdy logo

Научный форум dxdy

Математика, Физика, Computer Science, Machine Learning, LaTeX, Механика и Техника, Химия,
Биология и Медицина, Экономика и Финансовая Математика, Гуманитарные науки




Начать новую тему Ответить на тему
 
 Метод Зейделя
Сообщение03.10.2013, 04:54 


22/06/12
417
Нужно используя метод Зейделя(почти тоже самое самое что и метод итераций) решить систему нелинейных уравнений с точностью до 0.0001
$x=-0.8+0.5\siny$
$y=0.8-\cos(x+0.5)$
Начальное приближение определил графически, и написал код:

[CPP]#include "stdio.h"
#include "conio.h"
#include "clocale"
#include "cmath"
#include <iostream>
#include "fstream"
using namespace std;

int main( void )
{
setlocale(LC_ALL, "Russian");
float E=0.000000001, x0=-0.874, y0=-0.131, x1, y1 ;
int W;
cout <<"Начальное приближение: ";
cout <<"x0=" << x0 << " ";
cout << "у0="<< y0 << "\n" ;
W=0;
//y1=0;
// for(;;)
while (true)
{
W=W+1;
x1=-0.8+0.5*sin(y0);
y1=0.8-cos(x1+0.5);
cout << "Итерация №: " << W << " ";
cout << "x" << W << "=" << x1 << " ";
cout << "y"<< W << "=" << y1 << "\n";

if (fabs(y1-y0)<=E);
{
break;
}
y0=y1;
}

getch();
return (0);
}
[/CPP]

в итоге:
Изображение

Если посмотреть графически, то действительно было ближе приближено значение к точке пересечения.
Но по какой-то причине цикл был пройден один раз и после этого завершился. Если уменьшать или увеличивать точность или использовать цикл for(;;), то всё равно ничего не изменится


Помогите пожалуйста! Я в программировании полый чайник, ошибка где-то на поверхности, но неукого спросить!

 Профиль  
                  
 
 Re: Метод Зейделя
Сообщение03.10.2013, 05:40 
Заслуженный участник
Аватара пользователя


13/08/08
14495
А не в точке с запятой, поставленной слишком рано, всё дело?
Код:
if (fabs(y1-y0)<=E);

 Профиль  
                  
 
 Re: Метод Зейделя
Сообщение03.10.2013, 06:34 


22/06/12
417
gris
уря!!! большое спасибо!

 Профиль  
                  
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 3 ] 

Модераторы: Karan, Toucan, PAV, maxal, Супермодераторы



Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group