Найти корни нелинейного уравнения вида x^2=e^(-(x)^2) - C (СИ)
Формулировка задачи:
Найти корни нелинейного уравнения вида x^2=e^(-(x)^2). Поиск приближенного значения хотя бы одного корня уравнения f(x)= 0 на отрезке [а; b] осуществлять методами перебора и хорд. В функции, которые реализуют алгоритмы, передавать указатели на тип float.
Решение задачи: «Найти корни нелинейного уравнения вида x^2=e^(-(x)^2)»
textual
Листинг программы
#include <iostream> #include <math.h> using namespace std; int n; double a; double b; double result; bool* error=false; double precision = 0.01; double (*f)(double,double); double func(double x) { return x*x - exp(-x*x); } double enumeration(double a,double b) { double c; int i=1; do { c = func(a)*func(a+precision); a+=precision; i++; if(i==200) { cout<<"solution is to far from the point you have entered!\n"; return false; } }while(c>0); return a; } double chord(double a,double b) { double c; int i=1; do { void main() { cout<<"choose approach to get solution\n"; cout<<"1 - chord method\n"; cout<<"2 - enumeration method\n"; do { cin>>n; } while(((int)n!=1)&&((int)n!=2)); if(n==1) { cout<<"enter borders:\n"; cout<<"a:"; cin>>a; cout<<"b:"; cin>>b; f = &chord; // initial f -> method } else { cout<<"enter left point:\n"; cout<<"a:"; cin>>a; b = 0; f = &enumeration; // initial f -> method }
Объяснение кода листинга программы
- Программа находит корни нелинейного уравнения x^2=e^(-(x)^2) с помощью методов интервала (сглаживание, отсечение, приращение) и метода численного извлечения корней.
- При запуске программы, она предлагает пользователю выбрать метод решения (1 - метод хорд, 2 - метод перечисления).
- Если выбран метод хорд, программа запрашивает у пользователя границы интервала, в котором предполагается наличие корня.
- Если выбран метод перечисления, программа запрашивает у пользователя левую точку интервала.
- В обоих случаях программа начинает процесс поиска корня с помощью выбранного метода.
- В процессе поиска корня программа выводит промежуточные результаты на экран.
- Если поиск корня не увенчался успехом, программа выводит сообщение об ошибке.
- Если поиск корня был успешным, программа выводит найденный корень на экран.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д