Система нелинейных уравнений - C#

Узнай цену своей работы

Формулировка задачи:

добрый вечер!задали задание решить систему нелинейных уравнений методами якоби и гаусса-зейделя. в уравнении присутствует параметр "а". так вот если я меняю а,х0 или у0 - х и у же тоже должны меняться?хотя бы незначительно а у меня стабильно выдаёт х=1 у=1. подскажите, где ошибся?
Листинг программы
  1. using System;
  2. using System.Collections.Generic;
  3. using System.ComponentModel;
  4. using System.Data;
  5. using System.Drawing;
  6. using System.Linq;
  7. using System.Text;
  8. using System.Windows.Forms;
  9. namespace WindowsFormsApplication2
  10. {
  11. public partial class Form1 : Form
  12. {
  13. public Form1()
  14. {
  15. InitializeComponent();
  16. }
  17. private void button1_Click(object sender, EventArgs e)
  18. {
  19. double x, y, x0, y0,a ;
  20. x = 1054636;
  21. y = 1064636;
  22. a = 5;
  23. do
  24. {
  25. x0 = x;
  26. y0 = y;
  27. // x = (Math.Sin(Math.Sqrt(Math.Abs(1 - y * y)) + y) - 0.1) / 1.2;
  28. // y = Math.Sqrt(1 - x * x);
  29. x= Math.Pow(y*y*y + (6 + a) * y - 2 ,1/3);
  30. y = Math.Pow((6 + a) * x - 3 - x*x*x , 1 / 3);
  31. }
  32. while ((Math.Abs(x - x0) > 0.0001) && (Math.Abs(y - y0) > 0.0001));
  33. textBox1.Text = Convert.ToString(x);
  34. textBox2.Text = Convert.ToString(y);
  35. }
  36. private void button2_Click(object sender, EventArgs e)
  37. {
  38. double x, y, x0, y0,a;
  39. x = 0.5;
  40. y = 0.5;
  41. a = 1;
  42. do
  43. {
  44. x0 = x;
  45. y0 = y;
  46. x = Math.Pow(y * y * y + (6 + a) * y - 2, 1 / 3);
  47. y = Math.Pow((6 + a) * x0 - 3 - x0 * x0 * x0, 1 / 3);
  48. // y = Math.Sqrt(Math.Abs(1 - x0 * x0));
  49. // x = (Math.Sin(Math.Sqrt(Math.Abs(1 - y * y)) + y) - 0.1) / 1.2;
  50. }
  51. while ((Math.Abs(x - x0) > 0.0001) && (Math.Abs(y - y0) > 0.0001));
  52. textBox3.Text = Convert.ToString(x);
  53. textBox4.Text = Convert.ToString(y);
  54. }
  55. private void Form1_Load(object sender, EventArgs e)
  56. {
  57. }
  58. }
  59. }
если подставить уравнение которое закомментировано то всё хорошо получается...

Решение задачи: «Система нелинейных уравнений»

textual
Листинг программы
  1.  x = Math.Pow(y * y * y + (6 + a) * y - 2, (double)1 / 3);
  2.                y = Math.Pow((6 + a) * x0 - 3 - x0 * x0 * x0,  (double)1 / 3)

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

7   голосов , оценка 3.857 из 5

Нужна аналогичная работа?

Оформи быстрый заказ и узнай стоимость

Бесплатно
Оформите заказ и авторы начнут откликаться уже через 10 минут
Похожие ответы