Вычисление кинетической энергии
Для расчета кинетической энергии затрачиваемой на разгон судна используется известное соотношение
Такой же расчет необходимо произвести для задачи торможения. Вычисление интеграла производится одним из численных методов на основании результатов, полученных в третьей модельной задаче.
Первая модельная задача // дима.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.com Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. (325)
|
Почему 1285321 студент выбрали МегаОбучалку... Система поиска информации Мобильная версия сайта Удобная навигация Нет шокирующей рекламы |