Главная страница
Навигация по странице:

  • 2. Математическая модель решения задачи

  • 3. Алгоритм решения задачи

  • 7. Результаты работы программы

  • попка. Литература 34 Приложение 35 Решение задачи с использование Microsoft Excel 35 Введение


    Скачать 0.55 Mb.
    НазваниеЛитература 34 Приложение 35 Решение задачи с использование Microsoft Excel 35 Введение
    Анкорпопка
    Дата17.12.2021
    Размер0.55 Mb.
    Формат файлаrtf
    Имя файлаIssledovanie_kolebaniy_matematicheskogo_mayatnika_-_StudentLib_c.rtf
    ТипЛитература
    #306925

    Содержание



    Введение 2

    . Постановка задачи 4

    . Математическая модель решения задачи 5

    . Алгоритм решения задачи 6

    . Схема алгоритма 8

    . Таблица идентификаторов 20

    . Текст программы 20

    . Результаты работы программы 30

    . Графическая часть 32

    . Анализ результатов 32

    Литература 34

    Приложение 35

    Решение задачи с использование Microsoft Excel 35



    Введение



    При осуществлении проектов в машиностроительной области, начальной стадией реализации этого проекта является создание модели, которая по возможности могла бы учитывать все факторы, влияющие на качество, надежность, долговечность, заданные характеристики работы при эксплуатации. В соответствии с условиями работы и заданными техническими характеристиками необходимо спроектировать такую модель, которая бы отвечала всем поставленным требованиям. Однако в процессе разработки приходится воплощать несколько моделей и сравнивать их характеристики между собой для более оптимального решения проблемы, в этих случаях наиболее целесообразно использовать ЭВМ.

    Автоматизация машиностроения требует не только автоматического управления режимами, например, механической обработки, прессования, термической, физико-химической обработки и других рабочих процессов машиностроения. Для полной механизации работ требуется автоматизация транспортирования (перемещения в пространстве) и переориентация объекта производства. В качестве такого объекта манипулирования может быть обрабатываемая деталь, инструмент или другой предмет самой разнообразной конфигурации. Чаще всего требуется не только переместить в пространстве, но и сориентировать деталь определенным образом, т.е. не только изменить ее местонахождение, но и развернуть в пространстве определенным образом. Эти операции выполняются манипуляторами промышленных роботов.

    В данном курсовом проекте рассматривается движение математического маятника, как один из примеров разнообразия решаемых на ЭВМ задач. Компьютерные технологии очень ускорили изучение человеком различных процессов: физических, химических, математических, решение инженерных задач.

    Математический маятник представляет собой шарик, подвешенный на нити, при сообщении шарику некоторой начальной скорости он начнёт колебательное движение. Причём если пренебречь силами сопротивления (создать идеальные условия), то маятник будет совершать гармонические колебания неограниченное количество времени. Это и помогают доказать исследования проводимые на ЭВМ.



    1. Постановка задачи



    Математическому маятнику массой m и длиной нити l в низшем положении сообщена горизонтальная скорость (рисунок 1).

    Исследовать характер колебаний маятника при изменении времени от 0 до tкон, определив зависимость S(t) и построив её график. Силами сопротивления пренебречь.


    Рисунок 1
    Значения исходных данных:

    Начальная скорость v0 = 0,05 м/с;

    Длина нити l = 1 м;

    Конечное время tкон = 1,8 с;

    Количество разбиений n = 40.



    2. Математическая модель решения задачи



    Математическую модель задачи построим, используя второй закон Ньютона. Дифференциальное уравнение движения имеет вид:
    .
    Так как для окружности , то мы получим
    .
    Зададим следующие начальные условия движения тела:
    , .
    Таким образом, для исследования характера движения тела необходимо найти решение задачи Коши:
    .
    Преобразуем её к системе дифференциальных уравнений первого порядка с начальными условиями:
    .
    Решим построенную систему методом Эйлера, используя формулы:
    , , , ,

    , , , для i = 2, 3, …, n + 1.
    Получим таблично заданную зависимость S(t).

    3. Алгоритм решения задачи



    . Вводим исходные данные V0, l, Tkon, n;
    . t1:=0; V1:=V0; S1:=0;
    Проверка исходных данных производиться с помощью процедуры schityvanie.

    3. schityvanie(var v0,l,Tkon:real; var n:integer);

    4. Запись исходных данных производиться с помощью процедуры vvod_parametrov;

    . Записываем введённые данные с помощью процедуры zapis_parametrov в файл dannye.dan.

    . С помощью процедуры Max_Min определяем значения скорости V и пройденный путь S, а также находим максимальные и минимальные значения этих величин.

    . С помощью процедуры osi_koordinat строим оси координат для изображения графика зависимости S(t) и V(t).

    . С помощью процедуры MyGraphInit переводим режим работы компьютера с текстового на графический.

    . С помощью процедуры Graph_V выполняется построение графика зависимости V(t).

    . С помощью процедуры Graph_S выполняется построение графика зависимости S(t).

    . Результаты вычисления записываются в файл rezultat.dan с помощью процедуры Zapis_rez.

    . Процедура vybor обеспечивает выбор требуемой операции: ввод и контроль исходных данных, просмотр графиков V(t) и S(t), а также выход из программы.

    . Выполнение самой программы - последовательное выполнение всех процедур.

    Алгоритм процедуры Max_Min
    . dt:=Tkon/n;

    2. Для i:=2..n+1;

    .1. t:=(i-1)*dt;

    .2. v:=v-dt*9.8*sin(s/l);

    .3. s:=s+dt*v;
    4. Схема алгоритма
    Процедура schityvanie



    алгоритм маятник колебание гармонический
    Процедура vvod_parametrov


    Процедура zapis_parametrov



    Процедура Max_Min


    Процедура osi_koordinat


    Процедура MyGraphInit


    Процедура Graph_V


    Процедура Graph_S


    Процедура Zapis_rez




    Процедура vybor



    Схема головной программы




    5. Таблица идентификаторов





    Наименование

    физический смысл

    идентификатор

    Начальная скорость

    V0

    V0

    Длина нити

    l

    l

    Начальное время

    t1

    t

    Конечное время

    tкон

    Tkon

    Число повторений

    n

    n

    Отклонение маятника

    S

    S

    Максимальное отклонение маятника

    Smax

    maxS

    Минимальное отклонение маятника

    Smin

    minS

    Скорость маятника

    V

    V

    Максимальная скорость маятника

    Vmax

    maxV

    Минимальная скорость маятника

    Vmin

    minV

    Счётчик

    ---------

    i



    6. Текст программы



    program kursovoi_variant_24;graph,crt;,rez:text;,,:integer;,l,Tkon:real;:integer;,minV, maxS,minS:real;schityvanie(var v0,l,Tkon:real; var n:integer);z:integer;:char;;

    {$I-}(dan,'dannye.dan');(dan);:=ioresult;

    {I+}z<>0 then('oshibka faila ''dannye.dan'' No:',z);;(1);;(dan,s);(dan,s);(dan,v0);(dan,l);(dan,Tkon);(dan,n);(dan);;vvod_parametrov(var v0,l,Tkon:real; var n:integer);i:integer;:char;;('ishodnymi dannumi yavlyautsa:');('na4al''naya skorost'' Vo: ',v0:4:3);('dlinna niti mayatnika L: ',l:4:3);('kone4noe vremya Tkon: ',tkon:4:3);('koli4estvo razbienei po vremeni n: ',n);('Vi hotite izmenit'' eti dannye?');('Da- y, Net- n, sdelaite vybor: ');(s);(s='y') or (s='Y') then('vvedite na4al''nuju skorost'' Vo:');(v0);('vvedite dlinnu niti mayatnika L: ');(l);('vvedite kone4noe vremya Tkon (v sekundah): ');(Tkon);('vvedite koli4estvo razbienei po vremeni n: ');(n);;(s='n') or(s='N') then break(s='n') or (s='N');;zapis_parametrov(v0,l,Tkon:real;n:integer);z:integer;:char;;

    {$I-}(dan,'dannye.dan');(dan);:=ioresult;

    {I+}z<>0 then('oshibka faila ''dannye.dan'' No:',z);;(1);;(dan,'na4al''nymi dannymi yavlyautsa:');(dan,' Vo L Tkon n');(dan,v0:10:3);(dan,l:10:3);(dan,Tkon:10:3);(dan,n:10);(dan);;Max_Min(var MaxV,MinV,maxS,minS:real);i:integer;,V,dt,t:real;:=v0;s:=0; maxS:=s;minS:=s;maxV:=v;minV:=v;:=Tkon/n;i:=1;t:=0;i:=2 to n+1 do:=(i-1)*dt;:=v-dt*9.8*sin(s/l);:=s+dt*v;maxSs then minS:=s;maxVv then minV:=v;;;osi_koordinat(t,maxy,miny:real);i:integer;,dy,x:real;:string;:=t/10;:=abs(maxy-miny)/10;(0,1,1);(100,20,100,320);(100,320,600,320);i:=0 to 10 do(99,20+30*i,101,20+30*i);:=maxy-i*dy;(x:4:4,s);(40,15+30*i);(s);(100+50*i,319,100+50*i,321);:=0+i*dt;(x:4:3,s);(90+50*i,324,s);;I:=1 to 10 do;(1,1,1);(8);(103,20+30*(i-1), 600,20+30*(i-1));(100+50*i,318,100+50*i,20);(0,1,1);(15);;;MyGraphInit;:=detect;(graphdriver,GraphMode,'d:\bp\bgi');:=graphresult;Errorcode<>grOk then('proizoshla oshibka grafiki: ',grapherrormsg(errorCode));('rabota programmy prervana');;(1);;;Graph_V;i,x,y:integer;,V,dt,t:real;:string;(6);:=v0;s:=0;:=0;:=Tkon/n;(round(100+t*500/Tkon),round( 320-(V-minV)*300/(maxV-minV) ));i:=2 to n+1 do:=(i-1)*dt;:=v-dt*9.8*sin(s/l);:=s+dt*v;(v:4:4,zn1);v=maxV then begin x:=getX; y:=getY;:='maxV='+zn1;(100,380,zn1);moveTo(x,y);;v=minV then begin x:=getX; y:=getY;:='minV='+zn1;(100,400,zn1);moveTo(x,y);;(round(100+t*500/Tkon),round( 320-(V-minV)*300/(maxV-minV) ));;(15);outTextXY(100,420,'graphik zavisimosti V(t)');Graph_S;i,x,y:integer;,V,dt,t:real;:string;setcolor(6);:=v0;s:=0;:=0;:=Tkon/n;(round(100+t*500/Tkon),round( 320-(s-mins)*300/(maxS-minS) ));i:=2 to n+1 do:=(i-1)*dt;:=v-dt*9.8*sin(s/l);:=s+dt*v;(S:4:4,zn1);s=maxS then begin x:=getX; y:=getY;:='maxS='+zn1;(100,380,zn1);moveTo(x,y);;S=minS then begin x:=getX; y:=getY;:='minS='+zn1;(100,400,zn1);moveTo(x,y);;(round(100+t*500/Tkon),round( 320-(S-minS)*300/(maxS-minS) ));;setcolor(15);(100,420,'graphik zavisimosti S(t)');Zapis_rez;i,z:integer;,V,dt,t:real;;

    {$I-}(rez,'rezultat.dan');(rez);:=ioresult;

    {I+}z<>0 then('oshibka faila ''rezultat.dan'' No:',z);;(1);;(rez,'_________________________________________');(rez,'| i t V S|');(rez,'`---------------------------------------''');:=v0;s:=0;:=Tkon/n;i:=1;t:=0;v=maxV then writeln(rez,i:4,t:12:3,v:12:5,s:12:7,'====== maxV') elsev=minV then writeln(rez,i:4,t:12:3,v:12:5,s:12:7,'====== minV') elses=maxS then writeln(rez,i:4,t:12:3,v:12:5,s:12:7,'====== maxS') elses=minS then writeln(rez,i:4,t:12:3,v:12:5,s:12:7,'====== minS') else(rez,i:4,t:12:3,v:12:5,s:12:7);i:=2 to n+1 do:=(i-1)*dt;s:=s+dt*v;:=v-dt*9.8*sin(s/l);v=maxV then writeln(rez,i:4,t:12:3,v:12:5,s:12:7,'====== maxV') elsev=minV then writeln(rez,i:4,t:12:3,v:12:5,s:12:7,'====== minV') elses=maxS then writeln(rez,i:4,t:12:3,v:12:5,s:12:7,'====== maxS') elses=minS then writeln(rez,i:4,t:12:3,v:12:5,s:12:7,'====== minS') else(rez,i:4,t:12:3,v:12:5,s:12:7);;(rez);;vybor;s:char;;;('1-ishodnue dannye');('2-graphik V(t)');('3-grafik S(t)');('9-EXIT');('sdelaite vybor nazhatiem');('sootvetstvyuschei knopki');;('rezultat vy4islenei sohranyaetsya v faile ''rezultat.dan'' ');(s);;s='1' then(v0,l,Tkon,n);_parametrov(v0,l,Tkon,n);_parametrov(v0,l,Tkon,n);_Min(MaxV,MinV,maxS,minS);;s='2' then;;;_koordinat(Tkon,maxV,minV);_V;readkey;;s='3' then;;;_koordinat(Tkon,maxS,minS);_S;readkey;;;s='9';_rez;;(v0,l,Tkon,n);_Min(MaxV,MinV,maxS,minS);

    vybor;;.

    7. Результаты работы программы



    _________________________________________

    | i t V S|

    `---------------------------------------'

    0.000 0.05000 0.0000000====== maxV

    0.045 0.04901 0.0022500

    0.090 0.04704 0.0044553

    0.135 0.04414 0.0065723

    0.180 0.04037 0.0085588

    0.225 0.03579 0.0103754

    0.270 0.03051 0.0119862

    0.315 0.02462 0.0133591

    0.360 0.01824 0.0144669

    0.405 0.01150 0.0152876

    0.450 0.00453 0.0158050

    0.495 -0.00253 0.0160087====== maxS

    13 0.540 -0.00954 0.0158947

    0.585 -0.01636 0.0154653

    0.630 -0.02286 0.0147290

    0.675 -0.02890 0.0137004

    0.720 -0.03437 0.0124000

    0.765 -0.03915 0.0108535

    0.810 -0.04316 0.0090916

    0.855 -0.04632 0.0071492

    0.900 -0.04855 0.0050650

    0.945 -0.04982 0.0028803

    0.990 -0.05010 0.0006384====== minV

    1.035 -0.04939 -0.0016161

    1.080 -0.04770 -0.0038386

    1.125 -0.04506 -0.0059849

    1.170 -0.04152 -0.0080124

    1.215 -0.03717 -0.0098809

    1.260 -0.03207 -0.0115534

    1.305 -0.02634 -0.0129965

    1.350 -0.02009 -0.0141818

    1.395 -0.01343 -0.0150856

    1.440 -0.00651 -0.0156901

    1.485 0.00053 -0.0159832====== minS

    1.530 0.00757 -0.0159591

    1.575 0.01446 -0.0156184

    1.620 0.02106 -0.0149677

    1.665 0.02724 -0.0140200

    1.710 0.03288 -0.0127941

    1.755 0.03787 -0.0113142

    1.800 0.04211 -0.0096099



    8. Графическая часть






    9. Анализ результатов



    В результате работы был исследован характер движения математического маятника в идеальных условиях, то есть без учёта сил сопротивления. В ходе исследования выяснилось, что если ничего не препятствует движению маятника, он может колебаться бесконечно, поддерживая постоянную скорость и амплитуду, наблюдаются гармонические колебания. Графики зависимости S(t) и V(t) изображают идеальные синусоиду и косинусоиду.

    При данной длине нити маятника равной l = 1 м, начальной скорости, сообщённой маятнику, равной V0 = 0,05 м/с, в промежутке времени tкон = 1,8 c, были получены следующие результаты:

    В абсолютном значении наибольшая величина скорости V = 0,05010 м/с зафиксировалась при t = 0.990 c, это скорость в момент, когда шарик проходит перпендикулярно оси X.

    Минимальное значение скорости V = 0,00053 м/с зафиксирована при t = 1,485 с.



    Литература



    1. Рапаков Г.Г., РжеуцкаяС.Ю. Тurbo Pascal для студентов и школьников. - СПБ.: БХВ- Петербург. 2004. - 352 с.:ил.

    2. Анципорович П.П., Алейникова О.И., Булгак Т.И., Луцко Н.Я. Информатика. Учебно-метод. Пособие к лабораторным работам для студ. машиностроит. спец. В 4 ч. - Мн.: БНТУ, 2004.



    Приложение




    Решение задачи с использование Microsoft Excel


    Решим поставленную задачу методом Эйлера, используя формулы:
    , , , ,

    , , , для i = 2, 3, …, n + 1.
    Получим таблично заданную зависимость S(t).


    написать администратору сайта