0 / 0 / 0
Регистрация: 09.03.2017
Сообщений: 11
|
|
1 | |
Исследование функций01.10.2018, 00:11. Показов 1653. Ответов 0
Провести исследование функций F1(x), F2(x), F1(x)-F2(x) на отрезке [-5;5] на минимальные, максимальные значения и нули. Выдавать по запросу с клавиатуры на экран либо минимальное значение и аргумент при котором оно достигается, либо максимальное значение при котором оно достигается либо ноль если он существует
F1(x)=(tg(0.11*x+0.2)-1/(x-15.2))(11.3+1)-30 F2(x)=(x-0.5)^2 F3(x)=F1(x)-F2(x) Вот что у меня получилось (работает) но не знаю как добавить что бы показывало еще и аргумент и нули не показывает #include <iostream> #include <math.h> #include <string.h> using namespace std; void show_array(double*,int); double function1(double x) {return (tan(0.11+0.2)-1/(x-15.2))*(11.3*x+1)-30;} double function2(double x) {return ((x-0.5)*(x-0.5));} double function3(double x) {return ((tan(0.11+0.2)-1/(x-15.2))*(11.3*x+1)-30)-0.1*(((x-0.5)*(x-0.5)));} double my_min(double*,int); double my_max(double*,int); void zero(double(*fun_1)(double),double a,double b, double dx); int main() { double a=-5.,b=5.; double dx=0.2; double x=0.,y=1.; int n=(b-a)/dx+1; double(*fun_3)(double); cout<<"Enter number of the function: "; int n1; cin>>n1; if (n1==1)fun_3=function1; if (n1==2)fun_3=function2; if (n1==3)fun_3=function3; double*A_massive=new double[n]; for (int i=0;i<n;i++) A_massive[i]=fun_3(a+dx*i); show_array(A_massive,n); char*what=new char[20]; cout<<"What you want to find:"<<endl<<"A) Minimum value"<<endl<<"B) Maximum value"<<endl; cout<<"Enter 'a' or 'b' "; cin>>what; if (strcmp(what, "a")==0)cout<<"Minimum is "<<my_min(A_massive,n)<<endl; if (strcmp(what, "b")==0)cout<<"Maximum is "<<my_max(A_massive,n)<<endl; zero(fun_3,x,y,dx); double i_zero; if (strcmp(what, "zero")==0)cout<<"zero is "<<i_zero<<endl; return 0; } void show_array(double*A,int n) { for (int i=0;i<n;i++) cout<<A[i]<<endl; cout<<endl; } double my_min(double*A,int n) { double min=A[0]; for(int i=0;i<n;i++) if(A[i]<min)min=A[i]; return min; } double my_max(double*A,int n) { double max=A[0]; for(int i=0;i<n;i++) if(A[i]>max)max=A[i]; return max; } void zero(double(*fun_3)(double),double a,double b, double dx) {double min=fabs(fun_3(a)); double i_zero; for (double i=a;i<b;i+=0.1) if(fabs(fun_3(i))<min){min=fabs(fun_3(i));i_zero=i ;} if(min=0) cout<<"Zero = "<<i_zero<<endl; else cout<<"Zero not found"<<endl; }
0
|
|
01.10.2018, 00:11 | |
Ответы с готовыми решениями:
0
Полиморфизм и исследование виртуальных функций Использование свойства полиморфизма и исследование механизма виртуальных функций
|
01.10.2018, 00:11 | |
Помогаю со студенческими работами здесь
1
Вызов функций внутри других функций Объявление функций внутри других функций Полное исследование функций. Исследование функций на непрерывность. Исследование функций Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |