Нелинейное уравнение (метод простых итераций) - 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.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д