Система нелинейных уравнений - C#
Формулировка задачи:
добрый вечер!задали задание решить систему нелинейных уравнений методами якоби и гаусса-зейделя.
в уравнении присутствует параметр "а".
так вот если я меняю а,х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) { } } }
Решение задачи: «Система нелинейных уравнений»
textual
Листинг программы
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)
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д