Разработка математической модели на основе описанных методов

Метод решения математической модели на примере решения задач аналитической геометрии. Описание согласно заданному варианту методов решения задачи. Разработка математической модели на основе описанных методов. Параметры окружности минимального радиуса.

Рубрика Программирование, компьютеры и кибернетика
Вид лабораторная работа
Язык русский
Дата добавления 13.02.2009
Размер файла 310,6 K

Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже

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

Цель работы: Получить навыки описания метода решения математической модели на примере решения задач аналитической геометрии.

Задание: 1) Согласно заданному варианту описать методы решения задачи.

2) На основе описанных методов разработать математическую модель.

Задача: Задано множество точек, найти параметры окружности минимального радиуса, проходящие через три точки множества.

Ход работы

І)Математическая постановка задачи:

1) Найти наименьший радиус окружности по формуле: i : = 1…n

D=, где ;

j : = 1… 2)D1,D2,D3- радиусы окружности;

3) XY, XY, XY, XY- координаты точек множества;

4) D=-формула нахождения расстояния между двумя точками;

5)

-система уравнения или неравенства;

6)

-совокупность уравнения или неравенства;

7) -знак больше

-знак меньше

=-знак равно;

8) A, B, C, E- некоторые точки с определенными координатами

ІІ) Описание методов решения:

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

(D=),необходимо вычислить длины получившихся отрезков. После вычисления отрезки необходимо сравнить между собой. В результате если два отрезка, выходящие из одной точки, равны - это и есть радиусы окружности. Но из условия, поставленные задачей, необходимо найти минимальный радиус окружности проходящей через три точки множества. Если при сравнении несколько пар одинаковых отрезков - необходимо найти наименьшую пару - это и будет минимальный радиус окружности. (Рис.№1)

Рис.№1

Метод 2.Второй метод заключается в том, что бы искать минимальный радиус окружности при помощи соединения множество точек между собой, и в результате получение множество геометрических фигур ( в данном случае геометрические фигуры - треугольники). Затем необходимо найти расстояние сторон треугольника. Для этого возьмем формулу нахождения расстояния между двумя точками (D=). В случаи, если стороны выходящие из одной точки равны - это и есть радиусы окружности, так как через равные отрезки, выходящие из одной точки можно провести окружность с центром точки соединения этих отрезков. В случае, если в конечном результате вычисления несколько равных сторон, выходящих из одной точки, необходимо найти минимальный радиус окружности. Минимальным радиусом будут стороны с наименьшей длиной (рис.№ 2).

ІІІ) Анализ метода решения:

Первый метод более эффективен, чем второй, так как требует меньшее количество арифметических расчетов, и в памяти будет занимать меньшее количество ресурсов.

ІY) Формализация выбранного метода:

1) D1=

D2=

D3=;

2) Если D1=D3, то выполняется пункт 3, иначе пункт 4;

3) D1, D3 - радиусы окружности;

4) Если D2=D3, то выполняется пункт 5, иначе пункт 6;

5) D2, D3 - радиусы окружности;

6) Если D1=D2 , то выполняется пункт 7, иначе пункт 8;

7) D1, D2 - радиусы окружности;

8) Если D1=D2 , и/или D2=D3, и/или D1=D3, то выполняется пункт 9;

9) В случаи пункта 8 необходимо сравнить на меньший радиус:

D1=D2 D1=D3 D2=D3

D1D3 D1D2 D2D1

D1D3 D1D2 D2D1

D2D3 D3D2 D3D1

D2D3 D3D2D1 D3D1

10) Затем необходимо повторить это с оставшимися точками пока не перегенирируются все точки.

YІ. Геометрическое решение задачи

A= (-5;0);

B= (-3;2);

E= (0;1);

C= (-3;-2), так как D=, отсюда

1) AB=

AE=

AC=

Так как AB=AC, ABAE, ACAE, значит АВ и АС- радиусы окружности с центром в точке А.

2) АВ=

ЕВ=

СВ=

Так как АВЕВ, ЕВСВ, АВСВ, значит АВ, ЕВ, СВ- не являются радиусами окружности и точка В- не является центром окружности.

3) АЕ=

СЕ=

ВЕ=

Так как АЕСЕ, СЕВЕ, АЕВЕ, значит АЕ, СЕ, ВЕ- не являются радиусами окружности и точка Е- не является центром окружности.

4) АС=

ЕС=

СВ=

Так как АСЕС, ЕССВ, АССВ, значит АС, ЕС, СВ- не являются радиусами окружности и точка С- не является центром окружности.

Из данного множества точек можно провести только одну окружность с минимальным радиусом, проходящей через три точки множества. Отсюда следует, что минимальным радиусом являются отрезки АВ и АС.

Алгоритм реализации:

выполнять

ввод

n

пока ((n>3) и (n<20))

для i:=1..m

Вывод

`Введите координаты',I,'-ой точки.'

Ввод

D[i].x, D[i].y

Вывод

`D[`,i,'].x =',D[i].x;

`D[`,i,'].y =',D[i].y;

для i:=1..(n-3)

для k:=i+1..(n-2)

для l:=j+1..(n-1)

для j:=l+1...n

dk:= (D [i].x-D [k].x)?+(D [i].y-D [k].y)?;

dl:= (D [i].x-D [l].x)?+( D[i].y-D [l].y)? ;

dj= (D [j].x-D [j].x)?+(D [j].y-D [j].y)? ;

Если (dk=dl) или (dk=dj) тогда

Вывод

`Точка ',i,'- является центром окружности!'

Иначе

Вывод

'Точка ',i,' не является центром окружности!'

Если (dk=dl) или (dj=dl) тогда

Вывод

' dl- возможный радиус окружности!'

Иначе

Вывод

'dl-не образует радиус..'

Если (dk=dj) или (dk=dl) тогда

Вывод

' dk- возможный радиус окружности!'

Иначе

Вывод

'dk-не образует радиус.. '

Если (dj=dl) или (dj=dk) тогда

Вывод

' dj- возможный радиус окружности!'

Иначе

Вывод

' dj-не образует радиус'

если (dk<dj) и (dk=dl) то

Вывод

' dk- Наименьший радиус окружности!'

Если (dk<dl) и (dk=dj) то

Вывод

' dl- Наименьший радиус окружности!'

Если (dk=dj) и (dl=dk) тогда

Вывод

' dk и dj и dl- Наименьший радиус окружности!'

Листинг программы:

Program alex;

uses crt;

Type Point = Record

x,y : real;

End;

pnt = Array [1..20] Of Point;

var

q, nstr,cstr:string;

c:char;

D:pnt;

l,n,i,k,j,code:integer;

di,dj,dk,dl,Dmin:real;

begin

clrscr;

writeln(' Донецкий государственный институт искусственного интеллекта');

writeln;

writeln;

gotoxy(40,6);

write('Кафедра програмного обеспечения');

gotoxy(40,7);

writeln(' интеллектуальных систем');

gotoxy(19,10);

writeln(' Лабораторная работа #2');

writeln(' по курсу:"Алгоритмизация вычислительных процессов"');

writeln(' тема:"Разработка алгоритмов и программы"');

gotoxy(60,20);

write('Выполнил:');

gotoxy(60,21);

write(`');

gotoxy(60,22);

write();

writeln;

writeln;

writeln;

write('Нажмите любую клавишу');

readkey;

clrscr;

writeln(' Задание: Задано множество точек. Найти параметры окружности');

writeln('минимального радиуса проходящей через три точки множества.');

gotoxy(1,25);

write('Нажмите любую клавишу...');

readkey;

clrscr;

repeat

Writeln('Введите количество точек');

readln(nstr);

writeln;

val(nstr,n,code);

if (code<>0) then

begin

clrscr;

writeln('Это не число! Попробуйте еще раз.');

n:=5;

end;

if not( n in[3..20]) then

begin

clrscr;

code:=1;

writeln('Число не находится в заданном диапазоне! Попробуйте еще раз')

end;

until (code=0);

clrscr;

for i:=1 to n do

begin

repeat

write('Введите координату Х ',i,'-ой точки: ');

readln(cstr);

val(cstr,D[i].x,code);

if (code<>0) then

begin

writeln('Это не число! Попробуйте еще раз.');

continue

end;

clrscr;

if ((D[i].x>100) or (D[i].x<-100)) then

begin

clrscr;

writeln('Диапазон координат точек от -100 до 100!');

code:=1;

continue

end;

until (code=0);

repeat

write('Введите координату Y ',i,'-ой точки: ');

readln readln val(cstr,D[i].y,code);

if (code<>0) then

begin

clrscr;

writeln('Это не число! Попробуйте еще раз.');

code:=1;

continue

end;

clrscr;

if ((D[i].y>100) or (D[i].y<-100)) then

begin

clrscr;

writeln('Диапазон координат точек от -100 до 100!');

code:=1;

continue

end;

until (code=0);

end;

for i:=1 to n do

begin

writeln('D[',i,'].x=',D[i].x);

writeln('D[',i,'].y=',D[i].y);

end;

for i:= 1 to (n-3) do

for k:= i+1 to (n-2) do

for l:= k+1 to (n-1) do

for j:= l+1 to n do

begin

begin

begin

begin

dk:=Sqrt(Sqr(D[i].x-D[k].x)+Sqr(D[i].y-D[k].y));

dl:=Sqrt(Sqr(D[i].x-D[l].x)+Sqr(D[i].y-D[l].y));

dj:=Sqrt(Sqr(D[i].x-D[j].x)+Sqr(D[i].y-D[j].y));

Dmin:=dk;

begin

if (dk=dl) or (dj=dl) then

writeln ('',dl:7:2,' dl-возможный радиус окружноости')

else

writeln ('dl-не образует радиус');

if (dk=dj) or (dk=dl) then

writeln ('',dk:7:2,' dk-возможный радиус окружности')

else

writeln ('dk-не образует радиус');

if (dj=dl) or (dj=dk) then

writeln ('',dj:7:2,' dj-возможный радиус окружности')

else

writeln ('dj-не образует радиус');

if (dk=dl) or (dk=dj) then

writeln ('Точка ',i,' является центром окружности')

else

writeln ('Точка ',i,' не является центром окружности!');

end;

begin

if (dk<dj) and (dk=dl) then

writeln ('dk i dl-наименьший радиус окружности') ;

if (dk<dl) and (dk=dj) then

writeln ('dk i dj-наименьший радиус окружности');

if (dk=dj) and (dk=dl) then

writeln ('dk i dj i dl-наименьший радиус окружности');

end;

end;

end;

end;

end;

readLn;

end.

Экранные формы:

Вывод:

В ходе лабораторной работы я изучил навыки описания метода решения математической модели на примере решения задач аналитической геометрии.


Подобные документы

  • Краткий обзор решения транспортных задач. Экономическая интерпретация поставленной задачи. Разработка и описание алгоритма решения задачи. Построение математической модели. Решение задачи вручную и с помощью ЭВМ. Анализ модели на чувствительность.

    курсовая работа [844,3 K], добавлен 16.06.2011

  • Общая характеристика и свойства системы Matlab - пакета прикладных программ для решения задач технических вычислений. Разработка математической модели в данной среде, программирование функций для задающего воздействия. Проектирование GUI-интерфейса.

    курсовая работа [1023,2 K], добавлен 23.05.2013

  • Технология формирования исходной матрицы числовой экономико-математической модели на основе заданной информации. Алгоритм решения задачи программным комплексом на примере использования Excel. Процедура возврата результатов решения в электронную таблицу.

    методичка [38,4 K], добавлен 05.07.2010

  • Методы решения задач линейного программирования: планирования производства, составления рациона, задачи о раскрое материалов и транспортной. Разработка экономико-математической модели и решение задачи с использованием компьютерного моделирования.

    курсовая работа [607,2 K], добавлен 13.03.2015

  • Обзор алгоритмов методов решения задач линейного программирования. Разработка алгоритма табличного симплекс-метода. Составление плана производства, при котором будет достигнута максимальная прибыль при продажах. Построение математической модели задачи.

    курсовая работа [266,4 K], добавлен 21.11.2013

  • Алгоритм симплекс-метода. Задача на определение числа и состава базисных и свободных переменных, построение математической модели. Каноническая задача линейного программирования. Графический метод решения задачи. Разработки математической модели в Excel.

    курсовая работа [1,1 M], добавлен 18.05.2013

  • Структура математической модели линейной задачи, алгоритм симплекс-метода. Разработка программы: выбор языка программирования, входные и выходные данные, пользовательский интерфейс. Описание программы по листингу, тестирование, инструкция по применению.

    курсовая работа [1,2 M], добавлен 31.05.2013

  • Создание математической модели, приведение ее к виду задачи линейного программирования. Геометрическая трактовка решения. Определение области допустимых значений. Составление симплекс-таблиц. Разработка опорного плана задачи методом минимального элемента.

    контрольная работа [260,2 K], добавлен 22.12.2013

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

    курсовая работа [49,1 K], добавлен 24.05.2013

  • Понятие математической модели, свойства и классификация. Характеристика элементов системы Mathcad. Алгоритмический анализ задачи: описание математической модели, графическая схема алгоритма. Реализация базовой модели и описание исследований MathCAD.

    реферат [1,0 M], добавлен 20.03.2014

Работы в архивах красиво оформлены согласно требованиям ВУЗов и содержат рисунки, диаграммы, формулы и т.д.
PPT, PPTX и PDF-файлы представлены только в архивах.
Рекомендуем скачать работу.