рефераты конспекты курсовые дипломные лекции шпоры

Реферат Курсовая Конспект

Расчет площади сложной фигуры с помощью метода имитационного моделирования

Расчет площади сложной фигуры с помощью метода имитационного моделирования - раздел Математика, Расчет Площади Сложной Фигуры С Помощью Метода Имитационного Моделирования З...

Расчет площади сложной фигуры с помощью метода имитационного моделирования Задание Разработать программу, позволяющую с помощью метода имитационного моделирования рассчитать площадь сложной фигуры, ограниченной сверху кривой UY1x , снизу VY2x. 1. Для решения данной задачи применим следующий метод.Ограничим заданную фигуру прямоугольником, стороны которого проходят через точки максимального и минимального значения функций и параллельны осям абсцисс через левую и правую граничные точки области определения аргумента и параллельны осям ординат.

Используя датчик случайных чисел разыгрываются координаты случайной точки из этого прямоугольника . Проверяем попадаете точки в заданную фигуру. Зная площадь прямоугольника и отношение попавших точек к их общему числу разыгранных, можно оценить площадь интересующей нас фигуры. 2. Технические характеристики объекта исследования 2.1. Диапазон значений параметров задачи.Множество кривых ограничим полиномами третьего порядка, в виду того что полиномы более высокого порядка сильно увеличивают время вычисления.

Причем для наглядности решения вполне достаточно порядка 3. Коэффициенты полинома ограничим диапазоном -100,100 . Область определения ограничим диапазоном -100,100. Эти ограничения введены для более наглядного решения задачи, и изменить их не с технической точки зрения не сложно. 3. Решение задачи. Данная задача решена в среде Turbo C. Для решения потребовалось общую задачу разбить на несколько небольших задач процедур.

А именно отдельно в виде процедур были решены задачи Файл WINDOW.C -ввод параметров процедура getpoly -сообщение об ошибке при вводе процедура talkerror -рисование рамки окна процедура border Файл MATIM.C -вычисление минимального и максимального значении функций процедура fmax -вычисление значения полинома в заданной точке процедура fun -вычисление корней кубичного уравнения процедура froot Файл FINTEGER.C -вычисление интеграла численным методом процедура inum -вычисление интеграла с помощью имитационного моделирования процедура irand Файл DRAFT.C -инициализация графического режима процедура init -обводка непрерывного контура процедура fdraft - вырисовка осей координат процедура osi Файл DRAFTF.C -вырисовки графиков функций и штриховка заданной площади процедура draftf Файл DRAFTN.C -вырисовка графиков вычисления площади разными методами и вывод таблицы результатов вычисления процедура draftn Схема алгоритма имеет вид 4. Описание процедур используемый в программе. 4.1 INDOW.C. 1.1 Процедура ввода параметров. void getpoly float b3,float b2,float b1,float b0, -коэффициенты полинома Y1 fliat c3,float c2,float c1,float c0, -коэффициенты полинома Y2 float x1,float x2, область определения x1,x2 int N количество обращений к генератору случайных чисел 1.2 Процедура рисования рамки окна. void borderint sx, int sy, int en, int ey рисует рамку с координатами левого верхнего угла sx,sy и координатами правого нижнего угла ex,ey 4.1.3 Процедура сообщения об ошибке при вводе. void talkerrorvoid - Процедура подает звуковой сигнал и выводит на экран сообщение об ошибке при вводе. 2. Файл MATIM.C 2.1 Процедура вычисления максимального и минимального значений функций на заданном интервале. void fmaxfloat b3,float b2,float b1,float b0, -коэффициенты полинома Y1 fliat c3,float c2,float c1,float c0, -коэффициенты полинома Y2 float x1,float x2, область определения x1,x2 float amin, float amax минимальное и максимальное значения функций 2.2 Процедура вычисления значения полинома в данной точке. float funfloat b3,float b2,float b1,float b0, -коэффициенты полинома float x Возвращает значение полинома в точке х. 2.3 Процедура вычисления корней кубичного уравнения. int frootfloat b3,float b2,float b1,float b0, -коэффициенты полинома Y1 fliat c3,float c2,float c1,float c0, -коэффициенты полинома Y2 float x1,float x2, область определения x1,x2 float e, точность вычисления корней float k1,float k2,float k3 значения корней функций Возвращает количество действительных корней на данном интервале. 3. INTEGER.C 3.1 Процедура вычисления площади сложной фигуры численным методом. float fnumfloat b3,float b2,float b1,float b0, -коэфициенты полинома Y1 fliat c3,float c2,float c1,float c0, -коэфициенты полинома Y2 float x1,float x2 область определения x1,x2 Вычисляет площадь сложной фигуры. 3.2 Процедура вычисления площади сложной фигуры c помощью метода имитационного моделрования float ffloat b3,float b2,float b1,float b0, -коэфициенты полинома Y1 fliat c3,float c2,float c1,float c0, -коэфициенты полинома Y2 float x1,float x2, область определения x1,x2 float fmin,float fmax, минимальное и максимальное значения функций на данном интервале int n количество обращений к генератору случайный чисел Вычисляет площадь сложной фигуры с помощью метода имитационного моделирования. 4.4 Файл DRAFT.C 4.1 Процедура инициализации графического режима. void init void 4.2 Процедура обводки непрерывного контура. void fdraft float b0,float b1,float b2,float b3, -коэфициенты полинома float x1,float x2 область определения x1,x2 4.4.3 Процедура вырисовки осей координат. void osi float x1, float x2, область определения функций float b маштабный коэфициент расчитывается по формуле b j - Fmini-j Fmax - Fmin где i,j - задают положение графика на экране Fmin,Fmax - минимальное и максимальное значения функций на данном интервале 4.5 Файл DRAFTF. 5.1 Процедура вырисовки графиков функций. void draftf float b3,float b2,float b1,float b0, -коэфициенты полинома Y1 fliat c3,float c2,float c1,float c0, -коэфициенты полинома Y2 float x1,float x2, область определения x1,x2 float fmin,float fmax, минимальное и максимальное значения функций на данном интервале int k, int i, int l, int j координаты, задающие положение графика на экране 4.6 Файл DRAFTN. 6.1 Процедура вырисовки графиков значений полщадей расчитанных числвым методом и методом имитационного моделирования в зависимости от количества обращений к генератору случайных чисел. void drafte float b3,float b2,float b1,float b0, -коэфициенты полинома Y1 fliat c3,float c2,float c1,float c0, -коэфициенты полинома Y2 float x1,float x2, область определения x1,x2 float fmin,float fmax, минимальное и максимальное значения функций на данном интервале float Sn, площадь рассчитанная числовым методом int k, int i, int l, int j координаты, задающие положение графика на экране 4.7 Файл SQ.C Все файлы объединены в главной программе SQ.C, которая является основной и координирует работу процедур. 5 Использование программы.

Для использования данной программы необходима операционная среда MS DOS, файл egavega.bgi, и собственно сама скомпилированная программа sq.exe. 6 Исходный текст программы дан в приложении 1. 7 Тесовый пример показан в приложении 2. 8 Список использованной литературы. 1. Язык программирования Си для персонального компьютера.

С.О. Бочков, Д.М. Субботин. 2. С . Описание языка программирования.

Бьярн Страустрап. 3. TURBO C. Users Guide. Borland International, Inc. 1988. .4. TURBO C. Reference Guide. Borland International, Inc. 1988. 9 Заключение. 9.1 Сопоставление результатов работы с тербованием задания.

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

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

При разработке программы автор упустил возможность работы с числовыми массивами.

Поэтому, можно улучшить программу переписав ряд процедур под массивы , что сделает программу менее массивной и более наглядной.

Широкое возможности по улучшению программы в области разработки алгоритмов ввода различный классов функций.

Приложение 1. Текст программы.

Файл sq.c Пpогpамма SQ основная include stdio.h include graphics.h include conio.h include math.h include stdlib.h include matim.c include window.c include fintegr.c include draft.c include draftf.c include drafte.c int k20,i15,l270,j140 void mainvoid float b0,b1,b2,b3,c0,c1,c2,c3,x1,x2,maxb,maxc, minb,minc, min,max,S int N do closegraph getpolyb3,b2,b1,b0,c3,c2,c1,c0,x1,x2,N fmaxb3,b2,b1,b0,x1,x2,minb,maxb fmaxc3,c2,c1,c0,x1,x2,minc,maxc maxmaxb maxcmaxbmaxc minminb mincminbminc Sinumb3,b2,b1,b0,c3,c2,c1,c0,x1,x2 init draftfb3,b2,b1,b0,c3,c2,c1,c0,x1,x2,min, max,k,i,l,j drafteb3,b2,b1,b0,c3,c2,c1,c0,x1,x2,min, max,S,k,i180,l100,j160,N setcolor2 outtextxy0,340, Press q for exit while getch q Файл matim.c Подпpогpамма содеpжит пpоцедуpы математической обpаботки функций include stdio.h include conio.h include math.h include stdlib.h include dos.h Вычисление максимального и минимального значения функции на заданом интеpвале void fmaxfloat a3,float a2,float a1,float a0,float x1,float x2,float amin,float amax float dx,x,Fx,Fx1,Fmax,Fmin dxx2-x1500 xx1 Fx1a3xxxa2xxa1xa0 FmaxFx1 FminFx1 do xxdx Fxa3xxxa2xxa1xa0 if Fx Fmax FmaxFx if Fx Fmin FminFx while x x2 aminFmin amaxFmax Вычисление коpней кубичного уpавнения int frootfloat a0,float a1,float a2,float a3,float x1,float x2,float e,float k1,float k2,float k3 float ku1,ku2,ku3,x,a,b int c0 xx1 do aa3powx,3a2powx,2a1xa0 xe ba3powx,3a2powx,2a1xa0 if ab 0 c switchc case 1 ku1x break case 2 ku2x break case 3 ku3x break default printfn Внимание n Ошибка в matim.c froot. break while x x2 k1ku1 k2ku2 k3ku3 return c float funfloat a3,float a2,float a1,float a0,float x float s sa3xxxa2xxa1xa0 return s Файл window.c Подпpогpаммы pаботы с окнами include stdio.h include conio.h include math.h include stdlib.h include dos.h функция pисования pамки окна void borderint sx,int sy,int ex,int ey int i for isx1i exi гоpизонтальные линии gotoxyi,sy putch205 gotoxyi,ey putch205 for isy1i eyi веpтикальные линии gotoxysx,i putch186 gotoxyex,i putch186 gotoxysx,syputch201 gotoxysx,eyputch200 gotoxyex,syputch187 gotoxyex, eyputch188 void talkerrorvoid textcolor15 textbackground4 gotoxy1,18 cprintf ATTATETION DATE ERROR . Press any key to continue sound1700 delay100 nosound delay100 sound1400 delay100 nosound getch gotoxy1,18 textcolor15 textbackground1 clreol void getpolyfloat bo3,float bo2,float bo1,float bo0,float co3,float co2,float co1,float co0,float xo1,float xo2,int No float b3,b2,b1,b0,c3,c2,c1,c0,x1,x2 int xb15,yb14,xb276,yb222,c,k3,k110,k250,N char bc05,bc15,bc25,bc35,cc05,cc15,cc25,cc35, x1c5,x2c5,nc5 textbackground11 clrscr windowxb1,yb1,xb2,yb2 textcolor15 textbackground1 clrscr do textcolor15 textbackground1 gotoxyk1,k putsb3 gotoxyk1,k1 putsb2 gotoxyk1,k2 putsb1 gotoxyk1,k3 putsb0 gotoxyk2,k putsc3 gotoxyk2,k1 putsc2 gotoxyk2,k2 putsc1 gotoxyk2,k3 putsc0 gotoxyk1,k6 putsx1 gotoxyk2,k6 putsx2 gotoxyk1,k10 putsQUANTITY OF ADRESSES TO RNG B3 gotoxyk1,k putsb3 gotoxyk14,k getsbc3 sscanfbc3,f,b3 if fabsb3 100 talkerror goto B3 B2 gotoxyk1,k1 putsb2 gotoxyk14,k1 getsbc2 sscanfbc2,f,b2 if fabsb2 100 talkerror goto B2 B1 gotoxyk1,k2 putsb1 gotoxyk14,k2 getsbc1 sscanfbc1,f,b1 if fabsb1 100 talkerror goto B1 B0 gotoxyk1,k3 putsb0 gotoxyk14,k3 getsbc0 sscanfbc0,f,b0 if fabsb0 100 talkerror goto B0 C3 gotoxyk2,k putsc3 gotoxyk24,k getscc3 sscanfcc3,f,c3 if fabsc3 100 talkerror goto C3 C2 gotoxyk2,k1 putsc2 gotoxyk24,k1 getscc2 sscanfcc2,f,c2 if fabsc2 100 talkerror goto C2 C1 gotoxyk2,k2 putsc1 gotoxyk24,k2 getscc1 sscanfcc1,f,c1 if fabsc1 100 talkerror goto C1 C0 gotoxyk2,k3 putsc0 gotoxyk24,k3 getscc0 sscanfcc0,f,c0 if fabsc0 100 talkerror goto C0 X1 gotoxyk1,k6 putsx1 gotoxyk2,k6 putsx2 gotoxyk14,k6 getsx1c sscanfx1c,f,x1 if fabsx1 100 talkerror goto X1 X2 gotoxyk2,k6 putsx2 gotoxyk24,k6 getsx2c sscanfx2c,f,x2 if fabsx2 100 talkerror goto X2 if x1 x2 talkerror goto X1 V R gotoxyk1,k10 putsQUANTITY OF ADRESSES TO RNG gotoxyk130,k10 getsnc sscanfnc,d, N if N 32000 talkerror goto R if N 1 talkerror goto V textbackground2 gotoxy1,18 cprintf FOR CONFURMATION PRESS Y sound700 delay100 nosound delay100 sound1400 delay100 nosound delay100 sound700 delay150 nosound gotoxy1,18 while getch y cprintf O.K. WAIT FOR MATIMATITION sound1000 delay200 nosound bo3b3 bo2b2 bo1b1 bo0b0 co3c3 co2c2 co1c1 co0c0 xo1x1 xo2x2 NoN Файл finteger.c include stdio.h include math.h include time.h Вычисление интегpала численным методом float inumfloat a3,float a2,float a1,float a0,float b3,float b2,float b1,float b0,float x1,float x2 float xt,sx0,f1,f2,e0.01 xtx1 while xt x2 sxfabsfuna3-b3,a2-b2,a1-b1,a0-b0,xtesx xtxte return sx Пpоцедуpа pасчитывающая площадь сложной фигуpы с помощью метода имитационного моделиpования.

Из-за чего все начиналось float irandfloat a3,float a2,float a1,float a0,float b3,float b2,float b1,float b0,float x1,float x2,float fmin,float fmax,int n float s,sn0,f1,f2,min,max,x,y int i timet t srandunsigned time t randomize fori1i ni xx1randomx2-x1random1000.01 yfminrandomfmax-fminrandom1000.01 f1a3xxxa2xxa1xa0 f2b3xxxb2xxb1xb0 maxf1 f2f1f2 minf1 f2f1f2 if y min if y max sn srandunsigned time t ssnfmax-fminx2-x1n return s Файл draft.c Подпpогpамма DRAFT все связаное с гpафикой include stdio.h include graphics.h include conio.h include math.h include stdlib.h extern int k,i,l,j инициализация гpафики void initvoid int driv,mode,err drivDETECT initgraphdriv,mode, errgraphresult if err grOk printfОшибка пpи инициализации гpафики s,grapherrormsgerr exit1 setgraphmodeEGAHI return Ввод паpаметpов функций FX A3X3 A2X2 A1X A0 void getparmsfloat a3,float a2,float a1,float a0 printfВведите коэфициенты A3 A2 A1 A0 n scanff f f f,a3,a2,a1,a0 Обводит непpеpывный контуp void fdraftfloat a0,float a1,float a2,float a3,float dx,float a,float b,float x1 float xt,y,x xtx1-dx yceilaa0a1x1a2x1x1a3x1x1x1b movetok,y for xk-1x l1x yaa0a1xta2xtxta3xtxtxtb linetox,y xtdx delay0 Рисует оси кооpдинат void osifloat x1,float x2,float b float c setcolor4 setlinestyle0,1,1 settextstyle2,HORIZDIR,4 setfillstyle3,13 linek-5,b,l5,b ck-x1l-kx2-x1 linec,i-5,c,j5 ось y outtextxyl10,b-2,x outtextxyc3,i-12,y outtextxyc-10,b-10,0 outtextxyl,b-3, outtextxyc-3,i-6, void stroutint f,float a3,float a2,float a1,float a0,int bx,int by char s50 sprintfs,YdX2.2fX32.2fX22.2fX2.2f,f,a3,a 2,a1,a0 outtextxybx,by,s Файл draftf.c Подпpогpамма DRAFT все связаное с гpафикой include stdio.h include graphics.h include conio.h include math.h include stdlib.h extern int k,i,l,j инициализация гpафики void initvoid int driv,mode,err drivDETECT initgraphdriv,mode, errgraphresult if err grOk printfОшибка пpи инициализации гpафики s,grapherrormsgerr exit1 setgraphmodeEGAHI return Ввод паpаметpов функций FX A3X3 A2X2 A1X A0 void getparmsfloat a3,float a2,float a1,float a0 printfВведите коэфициенты A3 A2 A1 A0 n scanff f f f,a3,a2,a1,a0 Обводит непpеpывный контуp void fdraftfloat a0,float a1,float a2,float a3,float dx,float a,float b,float x1 float xt,y,x xtx1-dx yceilaa0a1x1a2x1x1a3x1x1x1b movetok,y for xk-1x l1x yaa0a1xta2xtxta3xtxtxtb linetox,y xtdx delay0 Рисует оси кооpдинат void osifloat x1,float x2,float b float c setcolor4 setlinestyle0,1,1 settextstyle2,HORIZDIR,4 setfillstyle3,13 linek-5,b,l5,b ck-x1l-kx2-x1 linec,i-5,c,j5 ось y outtextxyl10,b-2,x outtextxyc3,i-12,y outtextxyc-10,b-10,0 outtextxyl,b-3, outtextxyc-3,i-6, void stroutint f,float a3,float a2,float a1,float a0,int bx,int by char s50 sprintfs,YdX2.2fX32.2fX22.2fX2.2f,f,a3,a 2,a1,a0 outtextxybx,by,s Файл drafte.c Подпpогpамма DRAFTN гpафик погpешности вычисления интегpала pазличными методами include stdio.h include graphics.h include conio.h include math.h include stdlib.h Функция pисует гpафик полщади сложной фигуpы в зависимости от количества испытаний void draftefloat b3,float b2,float b1,float b0,float c3,float c2,float c1,float c0,float x1,float x2,float min,float max,float Sn,int k,int i,int l,int j,int n float dx,x,y,Sr,a,xl,yl,Ss int v,nt char s10 setcolor4 setlinestyle0,1,1 settextstyle2,HORIZDIR,4 linek-5,j,l5,j linek,i-5,k,j5 ось y outtextxyl10,j-2,N outtextxyk-8,i,S outtextxyk-10,j-10,0 outtextxyl,j-3, outtextxyk-3,i-6, setbkcolor15 setcolor2 linel50,i110,l100,i110 outtextxyl103,i107,Sr-random setcolor1 linel50,i120,l100,i120 outtextxyl103,i117,Sn-numeric dxn10 ai-j2Sn yaSnj linek5,y,l-5,y settextstyle2,HORIZDIR,4 setcolor5 sprintfs,S3.2f,Sn outtextxyl120,i-40,s outtextxyl50,i-20,N outtextxyl120,i-20,Sr outtextxyl220,i-20,Sn-Sr xlk ylj forv1v 11v ntceilvdx Srirandb3,b2,b1,b0,c3,c2,c1,c0,x1,x2,min ,max,nt xkvl-k10 yaSrj setcolor2 linexl,yl,x,y xlx yly setcolor4 settextstyle2,VERTDIR,4 sprintfs,d,nt outtextxyx,j3,s setcolor8 settextstyle2,HORIZDIR,4 outtextxyl40,iv-110,s sprintfs,3.2f,Sr outtextxyl110,iv-110,s Ss100-Sr100Sn sprintfs,2.1f,Ss outtextxyl205,iv-110,s.

– Конец работы –

Используемые теги: Расчет, площади, сложной, фигуры, помощью, метода, имитационного, моделирования0.109

Если Вам нужно дополнительный материал на эту тему, или Вы не нашли то, что искали, рекомендуем воспользоваться поиском по нашей базе работ: Расчет площади сложной фигуры с помощью метода имитационного моделирования

Что будем делать с полученным материалом:

Если этот материал оказался полезным для Вас, Вы можете сохранить его на свою страничку в социальных сетях:

Еще рефераты, курсовые, дипломные работы на эту тему:

Сравнение эффективности методов сортировки массивов: Метод прямого выбора и метод сортировки с помощью дерева
При прямом включении на каждом шаге рассматриваются только один очередной элемент исходной последовательности и все элементы готовой… Полностью алгоритм прямого выбора приводится в прогр. 3. Таблица 2. Пример… Можно сказать, что в этом смысле поведение этого метода менее естественно, чем поведение прямого включения.Для С имеем…

Статистические показатели себестоимости продукции: Метод группировок. Метод средних и относительных величин. Графический метод
Укрупненно можно выделить следующие группы издержек, обеспечивающих выпуск продукции: - предметов труда (сырья, материалов и т.д.); - средств труда… Себестоимость является экономической формой возмещения потребляемых факторов… Такие показатели рассчитываются по данным сметы затрат на производство. Например, себестоимость выпущенной продукции,…

РАЗРАБОТКА МАКЕТА УЧЕБНОГО ПОСОБИЯ МЕТОД ПО ДИСЦИПЛИНЕ МОДЕЛИРОВАНИЕ И МАКЕТИРОВАНИЕ ОДЕЖДЫ Структура учебного пособия Моделирование и макетирование одежды
Учебное пособие основной источник информации Предметное и педагогическое содержание Определяет содержание обучения...

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

2. Имитационные методы моделирования
На сайте allrefs.net читайте: 2. Имитационные методы моделирования...

Исследование помехоустойчивого канала передачи данных методом имитационного моделирования на ЭВМ
Хотя практически всегда имеет место такая зависимость, избыточность источника стараются устранить, повысив тем самым эффективность и надежность… Реализуемая практически каждой ЭВМ функция random дает КСП с очень большим… О лучших случайных характеристиках можно также судить по графикам АКФ рисунок 2 квазислучайная последовательность…

Методы решения жестких краевых задач, включая новые методы и программы на С++ для реализации приведенных методов
Стр. 8. Второй алгоритм для начала счета методом прогонки С.К.Годунова.Стр. 9. Замена метода численного интегрирования Рунге-Кутта в методе прогонки… Стр. 10. Метод половины констант. Стр. 11. Применяемые формулы… Стр. 62. 18. Вычисление вектора частного решения неоднородной системы дифференциальных уравнений. Стр. 19. Авторство.…

Лекция-03 по 3dMA Тема. Методы моделирования
Тема Методы моделирования... Полигональное моделирование... Теоретические аспекты К объектам типа Editable Mesh относятся геометрические модели трехмерных тел...

ГЛАВА 1. НАГРУЗКИ И МЕТОДЫ ИХ МОДЕЛИРОВАНИЯ
Расчетные режимы деталей двигателей При расчете деталей на прочность выбирают... Кинематический расчет трансмиссии Определение... Карданные передачи ведущих мостов...

Расчет режима сложных электроэнергетических сетей
Способы задания нагрузки... Задание нагрузки возможно следующими способами выбор которых зависит от ступени напряжения и режима работы...

0.035
Хотите получать на электронную почту самые свежие новости?
Education Insider Sample
Подпишитесь на Нашу рассылку
Наша политика приватности обеспечивает 100% безопасность и анонимность Ваших E-Mail
Реклама
Соответствующий теме материал
  • Похожее
  • По категориям
  • По работам