
Модельная задача №3
Аппроксимация полиномом 4 степени
Итоговая функция F(V)=-3,264Х4+106,29Х3-1164,21Х2+1877,73Х+2810,7
Найдем стационарную скорость Vст=13,45 м/с
Время разгона t=11,9864 с
Путь разгона 153,292 м
Время торможения t=23,2558c
Путь торможения 298,9963 м
Разгон
0 |
0 |
0 |
1 |
3,128 |
5,684 |
2 |
5,7801 |
25,1472 |
3 |
7,8015 |
51,784 |
4 |
9,2547 |
79,485 |
5 |
10,5689 |
110,3541 |
6 |
11,2571 |
131,2547 |
7 |
11,9864 |
153,292 |
Найдем энергию разгона и энергию торможения Методом Трапеций
Ераз=68524787,1 ДЖ
Етор=60112454,9 дж
Вычисление скорости
#include <iostream.h>
#include <math.h>
double f (double x)
{
return (-0.837*x*x*x*x+12.40*x*x*x-95.21*x*x+11.73*x+33387);
}
double z (double x)
{
return(2.427*x*x*x*x-93.89*x*x*x+1069*x*x-1866*x+576.3);
}
void main()
{
double x0,x1,eps;
cout<<"vvedite nachalnoe znach x0"<<endl;
cin>>x0;
cout<<"vvedite tochnost eps"<<endl;
cin>>eps;
while(fabs(f(x0))>eps)
{
x1=x0-f(x0)/z(x0);
x0=x1;
}
cout<<"Vsta="<<x1<<endl;
cout<<"f("<<x1<<")="<<f(x1)<<endl;
}
Вычисление времени разгона
# include<iostream.h>
# include<math.h>
void main()
{
double s=0,f,g,a,b,hx,w;
cout<<"vvedite a b hx"<<endl;
cin>>a>>b>>hx;
cout<<"\n"<<endl;
for(g=a+hx;g<=b-hx;g=g+hx)
{
f=((-3.264*g*g*g*g+106.29*g*g*g-1164.21*g*g+1877.73*g+32810.7)/17800);
s=s+f;
}
w=hx*(((-3.264*g*g*g*g+106.29*g*g*g-1164.21*g*g+1877.73*g+32810.7)/17800)/2+((-3.264*b*b*b*b+106.29*b*b*b-1164.21*b*b+1877.73*b+32810.7)/17800/2)+s);
cout<<"trazg\n"<<endl;
cout<<w<<endl;
cin>>w;
}
Вычисление пути разгона
include <iostream.h>
# include<math.h>
void main()
{
double t[7],v[7],s[7],Q1,W1,a,b,h;
int i;
cout<<"vvedite A,B"<<endl;
cin>>a>>b;
cout<<"\n"<<endl;
t[0]=0;
v[0]=0;
s[0]=0;
h=(b-a)/7;
for(i=0;i<=7;i++)
{
t[i+1]=t[i]+h;
Q1=((-3.264*v[i]*v[i]*v[i]*v[i]+106.29*v[i]*v[i]*v[i]-1164.21*v[i]*v[i]+1877.73*v[i]+2810.7)/17800)*h;
W1=Q1*h;
v[i+1]=v[i]+Q1;
s[i+1]=(s[i]+W1);
cout<<i<<"t="<<t[i]<<"v="<<v[i]<<"s="<<s[i]*i;
cout<<"\n"<<endl;
}
cin>>a;
}
Вычисление времени торможения
# include<iostream.h>
# include<math.h>
void main()
{
double s=0,f,g,a,b,hx,w;
cout<<"vvedite a b hx"<<endl;
cin>>a>>b>>hx;
cout<<"\n"<<endl;
for(g=a+hx;g<=b-hx;g=g+hx)
{
f=((-3.264*g*g*g*g+106.29*g*g*g-1164.21*g*g+1877.73*g)/17800);
s=s+f;
}
w=hx*(((-3.264*g*g*g*g+106.29*g*g*g-1164.21*g*g+1877.73*g)/17800)/2+((-3.264*b*b*b*b+106.29*b*b*b-1164.21*b*b+1877.73*b)/17800/2)+s);
cout<<"trazg\n"<<endl;
cout<<w<<endl;
cin>>w;
}
Вычисление пути торможения
include <iostream.h>
# include<math.h>
void main()
{
double t[16],v[16],s[16],Q1,W1,a,b,h;
int i;
cout<<"vvedite A,B"<<endl;
cin>>a>>b;
cout<<"\n"<<endl;
t[0]=0;
v[0]=0;
s[0]=0;
h=(b-a)/7;
for(i=0;i<=7;i++)
{
t[i+1]=t[i]+h;
Q1=((-3.264*v[i]*v[i]*v[i]*v[i]+106.29*v[i]*v[i]*v[i]-1164.21*v[i]*v[i]+1877.73*v[i])/17800)*h;
W1=Q1*h;
v[i+1]=v[i]+Q1;
s[i+1]=(s[i]+W1);
cout<<i<<"t="<<t[i]<<"v="<<v[i]<<"s="<<s[i]*i;
cout<<"\n"<<endl;
}
cin>>a;
}
Разгон
Торможение