Нелинейное уравнение (метод простых итераций) - 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;
- }
Объяснение кода листинга программы
- Включаем необходимые заголовочные файлы для работы с математическими функциями и для отладки.
- Объявляем функции Phi и Oshibka, которые будут использоваться в основной программе.
- Задаем константу Eps, которая определяет требуемую точность решения.
- В функции main инициализируем начальное приближение x=1.0 и y=0.0.
- Запускаем цикл while, который будет выполняться до тех пор, пока значение функции Oshibka не станет меньше заданной точности Eps.
- Внутри цикла вычисляем новое значение y с помощью функции Phi, используя текущее значение x.
- Затем присваиваем новое значение x старому значению y.
- После выхода из цикла while выводим найденное значение x на экран.
- В функции Phi вычисляем новое значение y с помощью формулы y=pow(cos(0.5+x),1.0/3).
- В функции Oshibka вычисляем ошибку с помощью формулы y=cos(x+0.5)-xxx.
- Если значение ошибки отрицательное, то умножаем его на -1, чтобы ошибка всегда была положительной.
- Возвращаем значение ошибки из функции Oshibka.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д