Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > .NET Frameworks (точка нет фреймворки) > C# (си шарп)
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 31.05.2011, 22:30   #1
nexzis
Пользователь
 
Регистрация: 01.11.2010
Сообщений: 48
По умолчанию системы нелинейных уравнений

добрый вечер форумчане!задали задание решить систему нелинейных уравнений методами якоби и гаусса-зейделя.
в уравнении присутствует параметр "а".
так вот если я меняю а,х0 или у0 - х и у же тоже должны меняться?хотя бы незначительно а у меня стабильно выдаёт х=1 у=1.
подскажите, где ошибся?
Код:
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
 
namespace WindowsFormsApplication2
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }
 
        private void button1_Click(object sender, EventArgs e)
        {
            double x, y, x0, y0,a ;
            x = 1054636;
            y = 1064636;
            a = 5;
            do
            {
                x0 = x;
                y0 = y;
              // x = (Math.Sin(Math.Sqrt(Math.Abs(1 - y * y)) + y) - 0.1) / 1.2;
              // y = Math.Sqrt(1 - x * x);
                 x= Math.Pow(y*y*y + (6 + a) * y - 2 ,1/3);
                y = Math.Pow((6 + a) * x - 3 - x*x*x , 1 / 3);
            }
            while ((Math.Abs(x - x0) > 0.0001) && (Math.Abs(y - y0) > 0.0001));
            textBox1.Text = Convert.ToString(x);
            textBox2.Text = Convert.ToString(y);
        }
 
        private void button2_Click(object sender, EventArgs e)
        {
            double x, y, x0, y0,a;
            x = 0.5;
            y = 0.5;
            a = 1;
            do
            {
                x0 = x;
                y0 = y;
                x = Math.Pow(y * y * y + (6 + a) * y - 2, 1 / 3);
               y = Math.Pow((6 + a) * x0 - 3 - x0 * x0 * x0, 1 / 3);
               // y = Math.Sqrt(Math.Abs(1 - x0 * x0));
               // x = (Math.Sin(Math.Sqrt(Math.Abs(1 - y * y)) + y) - 0.1) / 1.2;
            }
            while ((Math.Abs(x - x0) > 0.0001) && (Math.Abs(y - y0) > 0.0001));
 
            textBox3.Text = Convert.ToString(x);
            textBox4.Text = Convert.ToString(y);
 
        }
 
        private void Form1_Load(object sender, EventArgs e)
        {
        }
    }
}
если подставить уравнение которое закомментировано то всё хорошо получается...
Изображения
Тип файла: jpg Безымянный.jpg (8.7 Кб, 132 просмотров)
nexzis вне форума Ответить с цитированием
Старый 01.06.2011, 02:00   #2
nexzis
Пользователь
 
Регистрация: 01.11.2010
Сообщений: 48
По умолчанию

с одной проблемой разобрался: надо было поставить
Код:
 x = Math.Pow(y * y * y + (6 + a) * y - 2, (double)1 / 3);
               y = Math.Pow((6 + a) * x0 - 3 - x0 * x0 * x0,  (double)1 / 3)
но теперь другая проблема : когда включаю метод якоби программа зависает.
Кто может подсказать что не так?
nexzis вне форума Ответить с цитированием
Старый 01.06.2011, 10:03   #3
kaljan775
:D
Форумчанин
 
Аватар для kaljan775
 
Регистрация: 26.09.2010
Сообщений: 570
По умолчанию

простите, а какой из них - метод якоби?
Пишу ПО, создаю сайты, делаю курсовые работы, за деньги
C#, .NET, MS SQL, AngularJS, HTML, jQuery
kaljan775 вне форума Ответить с цитированием
Старый 01.06.2011, 19:00   #4
nexzis
Пользователь
 
Регистрация: 01.11.2010
Сообщений: 48
По умолчанию

код для первой кнопки
nexzis вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Delphi. Решение системы нелинейных уравнений методами Ньютона и простых итераций. Помогите найти ошибку! Sianessa Помощь студентам 8 13.04.2012 17:32
Решение системы нелинейных уравнений методом итераций на Pascal Кушников Помощь студентам 0 25.02.2011 12:41
Решение нелинейных уравнений s2dentishe Помощь студентам 0 18.04.2010 11:47
Системы нелинейных уравнений Anarki Общие вопросы C/C++ 1 26.09.2009 23:49
решение нелинейных уравнений Жанна__90 Помощь студентам 21 22.07.2009 01:30