Вычисление кинетической энергии
Для расчета кинетической энергии затрачиваемой на разгон судна используется известное соотношение Такой же расчет необходимо произвести для задачи торможения. Вычисление интеграла производится одним из численных методов на основании результатов, полученных в третьей модельной задаче.
Первая модельная задача // дима.cpp : Defines the entry point for the console application. // #include "stdafx.h" #include <iostream> #include <conio.h> #include <math.h>
using namespace std; double m=12000; double R(double v){ return 548.8*v; } double T(double v){ return -289*v+15680; } double fv(double v){ return 1.0/m*(T(v)-R(v)); } double fs(double v){ return v; }
void main(){ cout<<"Raschet puti razgona metodom Eilera"<<endl; double eps=0.001, a=0, b=141, h,s1,v1,t1; int i, n=200; h=(b-a)/(double)n; double t=0, v=0, s=0, w=10; for(i=0; i<n; i++){ s1=s+h*fs(v+h/2*fv(v)); v1=v+h*fv(v+h/2*fv(v)); t1=t+h;
s=s1; v=v1; t=t1; if(fabs(v-w)<eps){ cout<<"t razg="<<t<<endl; cout<<"v razg="<<v<<endl; cout<<"s razg="<<s<<endl; break; } w=v; }
//getch(); }
Вторая модельная задача
// дима.cpp : Defines the entry point for the console application. // #include "stdafx.h" #include <iostream> #include <conio.h> #include <math.h>
using namespace std; double m=12000; double R(double v){ if(v<11.11111) return 1429.7*v-155.48; else if(v<16.66667) return -693*v+20193; else return 590.94*v-1009.4; } double T(double v){ if(v<7.22222) return -122.57*v+15797; else return -677.37*v+19507;} double fv(double v){ return 1.0/m*(T(v)-R(v)); } double fs(double v){ return v; }
void main(){ cout<<"Raschet puti razgona metodom Eilera"<<endl; double eps=0.001, a=0, b=141, h,s1,v1,t1; int i, n=200; h=(b-a)/(double)n; double t=0, v=0, s=0, w=10; for(i=0; i<n; i++){ s1=s+h*fs(v+h/2*fv(v)); v1=v+h*fv(v+h/2*fv(v)); t1=t+h;
s=s1; v=v1; t=t1; if(fabs(v-w)<eps){ cout<<"t razg="<<t<<endl; cout<<"v razg="<<v<<endl; cout<<"s razg="<<s<<endl; break; } w=v; }
//getch(); }
Третья модельная задача
// дима.cpp : Defines the entry point for the console application. // #include "stdafx.h" #include <iostream> #include <conio.h> #include <math.h>
using namespace std; double m=12000; double R(double v){ if(v<5) return 58.969*pow(v,3)-20.165*pow(v,2)+194.61*v; else if(v<9.44444) return 119.07*pow(v,3)-3109.1*pow(v,2)+27011*v-64374; else if(v<14.44444) return -5.4432*pow(v,4)+278.21*pow(v,3)-5315.5*pow(v,2)+44112*v-119825; else return -0.6612*pow(v,3)+197.18*pow(v,2)-5987.4*v+57159; } double T(double v){ if(v<5.55556) return -13.605*pow(v,2)-11.359*v+15683; else return -56.662*pow(v,2)+306.35*v+15329;} double fv(double v){ return 1.0/m*(T(v)-R(v)); } double fs(double v){ return v; }
void main(){ cout<<"Raschet puti razgona metodom Eilera"<<endl; double eps=0.001, a=0, b=141, h,s1,v1,t1; int i, n=200; h=(b-a)/(double)n; double t=0, v=0, s=0, w=10; for(i=0; i<n; i++){ s1=s+h*fs(v+h/2*fv(v)); v1=v+h*fv(v+h/2*fv(v)); t1=t+h;
s=s1; v=v1; t=t1; if(fabs(v-w)<eps){ cout<<"t razg="<<t<<endl; cout<<"v razg="<<v<<endl; cout<<"s razg="<<s<<endl; break; } w=v; }
//getch(); }
Популярное: Личность ребенка как объект и субъект в образовательной технологии: В настоящее время в России идет становление новой системы образования, ориентированного на вхождение... Как вы ведете себя при стрессе?: Вы можете самостоятельно управлять стрессом! Каждый из нас имеет право и возможность уменьшить его воздействие на нас... Генезис конфликтологии как науки в древней Греции: Для уяснения предыстории конфликтологии существенное значение имеет обращение к античной... Почему стероиды повышают давление?: Основных причин три... ©2015-2024 megaobuchalka.ru Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. (290)
|
Почему 1285321 студент выбрали МегаОбучалку... Система поиска информации Мобильная версия сайта Удобная навигация Нет шокирующей рекламы |