Решение систем нелинейных уравнений. - C (СИ)

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

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

Дана система уравнений: x=x^2-y^2+0.1 y=2xy+0.1 Решить методом простой итерации. вот что у меня получилось
#include <math.h>
#include <conio.h>
#include<stdio.h>
void main()
{
 
    float x,y,r;
    int x1=0,y1=0;
    do
    {
    x=x1*x1-y1*y1+0.1;
    y=2*x1*y1+0.1;
    printf(" Znacheniya X i Y v (0;0) = %f %f\n",x, y);
    r=sqrt(pow((x-x*x+y*y-0.1),2)+pow((y-2*x*y-0.1),2));
    printf("%f %f %f\n",x, y,r);
    x1=x;
    y1=y;
    }
    while(sqrt(pow((x-x*x+y*y-0.1),2)+pow((y-2*x*y-0.1),2))>=0.0001);
 
    getch();
    }
просьба проверить работает ли программа вообще,т.к. у меня почему то один раз запускается,дальше начинает выдавать ошибку что не может открыть файл. Ну и если не затруднительно проверить правильность написания.)

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

textual
Листинг программы
r=sqrt((x-x*x+y*y-0.1)*(x-x*x+y*y-0.1)+(y-2*x*y-0.1)*(y-2*x*y-0.1));

Объяснение кода листинга программы

  1. Импортируем модуль math, чтобы использовать функцию sqrt()
  2. Задаем функцию r = sqrt((x-xx+yy-0.1)(x-xx+yy-0.1)+(y-2xy-0.1)(y-2xy-0.1))
  3. Раскрываем скобки с помощью формулы разности квадратов
  4. Применяем операцию возведения в квадрат (x^2, y^2)
  5. Вычитаем значения xx, yy, 0.1 из соответствующих переменных
  6. Производим умножение (xy, 2x*y)
  7. Вычитаем значения x*y, 0.1 из соответствующих переменных
  8. Складываем полученные значения
  9. Возвращаем результат в переменную r
  10. Код не содержит циклов, поэтому список можно закрыть

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


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

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

9   голосов , оценка 4 из 5
Похожие ответы