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