Нелинейное уравнение (метод простых итераций) - C (СИ)

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

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

Решить нелинейное уравнение методом простых итераций с точностью до

Е

=0,0001 cos(x+0,5)=x3 Что то вообще не получается а скоро уже нужно сдавать Буду благодарен за помощь
Язык С
что то типа такого
#include<stdio.h>
#include<conio.h>
#include<math.h>
void main()
{
 float p,pd,y=2.1,x0=0.1,q=0.6359;
 int i=0;
 clrscr();
 pd=?????????;
 for(;fabs(y-x0)>0.0001;)
    {
     x0=y;
     y=????????????;
     i++;
     printf("y%i=%1.10f \n",i,y);
    }
  puts("\nResultat z tochnistyu E=0.0001 :");
  printf("y=%1.10f \n\n",y);
  p=((pow(q,i))*pd)/(1-q);
  printf("Pohubka=%1.20f",p);
  getch();
}

Решение задачи: «Нелинейное уравнение (метод простых итераций)»

textual
Листинг программы
#include <stdio.h>
#include <math.h>
 
double Phi (double x);
double Oshibka(double x);
 
const double Eps = 0.0001;
 
int main ()
{
        double x=1.0; // начальное приближение
        double y=0.0;
        int i;
        while (Oshibka(y)>Eps)
        {
                y = Phi(x);
                x=y;
        }
 
   printf("x= %f \n",x);
        return 0;
}
 
// Функция нахождения нового х зная старый
double Phi (double x)
{
        double y;
        if(x==0) return 0.0001;
        y = pow(cos(0.5+x),1.0/3);
        return y;
}
 
// функция нахождения ошибки
double Oshibka(double x)
{
        double y;
        y = cos(x+0.5)-x*x*x;
        if (y<0) y=-y;
        return y;
}

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

  1. Включаем необходимые заголовочные файлы для работы с математическими функциями и для отладки.
  2. Объявляем функции Phi и Oshibka, которые будут использоваться в основной программе.
  3. Задаем константу Eps, которая определяет требуемую точность решения.
  4. В функции main инициализируем начальное приближение x=1.0 и y=0.0.
  5. Запускаем цикл while, который будет выполняться до тех пор, пока значение функции Oshibka не станет меньше заданной точности Eps.
  6. Внутри цикла вычисляем новое значение y с помощью функции Phi, используя текущее значение x.
  7. Затем присваиваем новое значение x старому значению y.
  8. После выхода из цикла while выводим найденное значение x на экран.
  9. В функции Phi вычисляем новое значение y с помощью формулы y=pow(cos(0.5+x),1.0/3).
  10. В функции Oshibka вычисляем ошибку с помощью формулы y=cos(x+0.5)-xxx.
  11. Если значение ошибки отрицательное, то умножаем его на -1, чтобы ошибка всегда была положительной.
  12. Возвращаем значение ошибки из функции Oshibka.

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


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

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

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