Статистические вычисления в среде MathCAD

Данные вычисления проводятся по следующим направлениям:

1.расчёт статистических параметров массива случайной последовательности чисел: среднее значение дисперсии, коэффициент корреляции и т.д.

2. расчёт различных законов плотности с теории вероятности (нормальная, равномерная, биномиальная и т.д.)

3.пасчёт функции распределения вероятности Лапласа, Пуассона, Стьюдента и т.д.

4.генерирование случайной последовательности чисел с равномерными законами распределения вероятности.

Категория «случайные числа» находится в подменю «встроенные функции f(x)».

Краткое описание некоторых функций MathCAD.

rnorm(M,μ,σ) – генерирует случайную последовательность чисел, подчиняющихся нормальному закону распределения.

Runf(M,a,b) - генерирует случайную последовательность чисел имеющих равномерное распределение внутри интервала (a,b)

Rnd(x) - генерирует случайную последовательность чисел имеющих равномерное распределение внутри интервала (0,x).

Категория «статистика» в подменю помогает вычислять среднее значения массива чисел путём обращения к функциям mean (M1,M2…) где M1,M2 – матрицы в которые собраны массивы обрабатываемых чисел.

Чтобы найти дисперсию массива чисел необходимо обратиться к функции var (M1,M2,…)

Коэффициент корреляции двух массивов M1,M2 вычисляется с помощью функции corr(M1,M2).

При нормальном законе распределения вероятности функцию распределения вероятности считают как определённый интеграл от плотности вероятности. Этот интеграл вычисляется с помощью функции pnorm(x,μ,σ).

Графы.

Рассмотрим основное средство создания информационных моделей. К ним можно отнести словесное описание объекта (художественное вещества, статья о нём в словаре). Самым распространённым методом в создании информационной модели является метод описания.. Другим распространённым методом построения и визуализации информационных моделей является графы.

Граф-это отражение некоторого отношения установленного между фиксированными множествами. Из двух множеств в составляющих графа -одно это множество элементов (вершины) а другое множество связей между ними (линии произвольной конфигурации). Граф состоит из множества вершин x и связей между ними U, обозначается G(x,U).

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

Статистические вычисления в среде MathCAD - student2.ru

Если порядок соединения не важен, а важно то как они соединены, то такое соединение называют ребром графа А-В. Если важен порядок соединения вершин то такое соединение называют дугой графа и обозначают →.

Граф у которого вершины соединены дугами называют ориентированным. Граф у которого вершины соединены рёбрами называют неориентированным. Граф, вершины которого соединены и дугами и рёбрами называют смешанным.

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

Статистические вычисления в среде MathCAD - student2.ru

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

Статистические вычисления в среде MathCAD - student2.ru

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

Статистические вычисления в среде MathCAD - student2.ru

Виды графов.

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

Граф без петель, но с кратными рёбрами (дугами называют мультиграфом).

Граф, соединённый только изолированными вершинами называется пустым или ноль графом.

Обыкновенный граф, в котором любые две вершины соединены ребром называются сльносвязанным или полным графом.

Части графов.

Подграфом С графа G называют граф, образованный из графа G опусканием некоторых вершин и инцидентных им рёбер. Исходный граф по отношению к подграфу является надграфом.

2. подграф графа 1
1. надграф графа 2
Статистические вычисления в среде MathCAD - student2.ru

1) 2)

Если в результате преобразований число вершин осталось прежним, но были опущены некоторые ребра (дуги)/, то вновь образованный граф считают частичным графом (субграфом) исходного графа.

Статистические вычисления в среде MathCAD - student2.ru Данный граф является субграфом графа 1, а исходный граф 1 является сверхграфом.

3)

Маршруты

Маршрут определяется как некоторая последовательность ребер, в котором граничные вершины двух соседних ребер совпадают, например, последовательность ребер 1, 4, 8, 6 – маршрут.

Маршрут, все ребра которого разложены, называется цепью, например, 5, 6, 4, 2.

Замкнутая цепь – это цепь возвращающаяся в ту же вершину, из которой начиналась и она называется циклом, например, 5, 7, 3.

Граф, любая пара вершин которого может быть соединена маршрутом, называется связным, например, 1-3 – связные.

Несвязный граф представляет собой совокупность отдельных частей (подграфов) называемых компонентами связности, например:

Статистические вычисления в среде MathCAD - student2.ru

4) 5)

Связный граф не создающий циклов, называется деревом, например:

Статистические вычисления в среде MathCAD - student2.ru

Дерево имеет n вершин, соединенных n-1 ребром.

Несвязный граф, компоненты которого являются деревьями, называется лесом, например:

Статистические вычисления в среде MathCAD - student2.ru

Способы задания графа

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

Матрица связности имеет вид квадратной таблицы, в которой представлены отношения между вершинами, где элемент матрицы – это количество связей (ребер или дуг) для других двух вершин. Если вершины смежные, то ячейка таблицы примет значение 1, если вершины соединены краевыми ребрами, то ячейка таблицы примет значение 2. Так для графа, представленного на рис.1 матрица связности будет иметь вид таблицы.

  A B C D E
A
B
C
D
E

Из таблицы видно, что наибольшая лок. степень у вершины E: P(E)=4, у всех остальных вершин лок. степень равна 3.

Для того чтобы включенную в структуру модель представить в виде графа не структурную (количественную или текстовую) информацию довольно часто любому ребру (или любой вершине) рассматриваемого графа приписывают некоторый вес.

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

Пример: Составить взвешенный граф предложения: “С этого времени Цезарь один управлял всем в государстве по своей воле”.

В этом графе вершинами будут члены предложения, дуги синтетической связи между ними, причем вес приписан и вершинам и дугам, чтобы указать направление дуги в матрице используется знак “+” и “-“ (“+” - главное слово, “-“ -зависимое) связи, которую нужно отразить.

у – управление

с – согласные

к – координация

Статистические вычисления в среде MathCAD - student2.ru

ПРАКТИЧЕСКАЯ ЧАСТЬ.

Моделирование физической и биологической задачи.

Задача о пушке, которой надо попасть в крепость.

Статистические вычисления в среде MathCAD - student2.ru
Статистические вычисления в среде MathCAD - student2.ru

Известна высота башни h и расстояние S до неё. Найти угол Статистические вычисления в среде MathCAD - student2.ru , при котором снаряд из пушки попадёт в башню на высоте h.

Решение.

(см в лекциях)

Горизонтальное и вертикальное смещение снаряда за время t описывается формулами:

Статистические вычисления в среде MathCAD - student2.ru

где Статистические вычисления в среде MathCAD - student2.ru - ускорение свободного падения = 9.8 и Статистические вычисления в среде MathCAD - student2.ru - начальная скорость вылета снаряда.

Выразим t из первой формулы и подставим во вторую:

Статистические вычисления в среде MathCAD - student2.ru

Задача сводится к решению методом половинного деления где Статистические вычисления в среде MathCAD - student2.ru . Метод половинного деления или аналог в артиллерийском приёме (пристреле) – одно положение выше цели, второй выстрел ниже цели.

Алгоритм метода половинного деления смотри в численных методах.

Текст программы на Pascal:

program n1;

uses crt;

var v,h,s:integer;

a1,a2,a,h1,h2,hh:real;

begin

clrscr;

writeln('Введите начальную скорость');

readln (v); { Ввод с клавиатуры скорости }

writeln('Введите расстояние до цели');

readln(s); { Ввод с клавиатуры расстояния }

writeln('Введите высоту цели');

readln(h); { Ввод с клавиатуры высоты }

a1:=0; {начальный угол}

a2:=89; {конечный угол}

a:=(a1+a2)/2; {искомый угол т.е промежуточный угол}

hh:=s*(sin(pi/180*a)/cos(pi/180*a))-(9.8*s*s)/(2*v*v*cos(pi/180*a)*cos(pi/180*a));

{высота полёта при искомом угле}

while abs(hh-h)>0.01 do

{пока разность между искомым и полученным углом больше 0.001 то выполнять цикл}

begin

if hh>h then a2:=a ;

{если полученная высота больше искомой, то а2 = промежуточному углу}

if hh<h then a1:=a;

{если полученная высота меньше искомой, то а1 = промежуточному углу}

a:=(a1+a2)/2; (искомый т.е. промежуточный угол = середине между а1 и а2)

hh:=s*(sin(pi/180*a)/cos(pi/180*a))-(9.8*s*s)/(2*v*v*cos(pi/180*a)*cos(pi/180*a));

{расчёт новой высоты при новом промежуточном угле}

end;

write('Угол =',a); {вывод полученного угла}

readkey;

end.

Например, угол, при котором пушка попадёт на высоту 5, на расстоянии 10 при начальной скорости 20 равен 34 градуса.

Задания:

Найти необходимый угол выстрела, при скорости вылета снаряда 20, на расстояние 5, чтобы снаряд попал в цель на высоте 5.

Найти необходимый угол выстрела, при скорости вылета снаряда 15, на расстояние 5, чтобы снаряд попал в цель на высоте 5.

Найти необходимый угол выстрела, при скорости вылета снаряда 20, на расстояние 10, чтобы снаряд попал в цель на высоте 15.

Сделайте вывод о зависимости между необходимым углом и скоростью вылета снаряда;

Сделайте вывод о зависимости между необходимым углом и расстоянием до цели;

Сделайте вывод о зависимости между необходимым углом и высотой цели;

Сделайте вывод о зависимости между всеми параметрами модели.

Задача о кроликах и лисах.

На некотором острове живут лисы и кролики. Кролики питаются травой, а лисы кроликами. Экологи пересчитывают кроликов и лис и сделали вывод:

1. Коэффициент прироста числа кроликов зависит от колебания погоды (холодная или тёплая) и колеблется от 3.2 до 4.7

2. Коэффициент прироста числа лис при избытке крольчатины колеблется от 5.2 до 5.7. При недостатке прирост пропорционален приросту кроликов.

3. Коэффициент пропорциональности =50

Требуется установить, как меняется численность кроликов, и лис с течением времени.

Построение модели и схему взаимодействия лис и кроликов смотри в лекциях.

Текст задачи на Pascal:

program n2;

uses crt;

var i,n:integer;

m,m1,l1,l,

k,a:real;

begin

clrscr;

write('vvedite kolichestvo let');

readln(n);

write('vvedite nachalnoe kolichestvo krolikov');

readln(m);

write('vvedite nachalnoe kolichestvo lis');

readln(l);

write('vvedite koefficient prirista krolikov');

readln(k);

write('vvedite koefficient prirista lis');

readln(a);

for i:=1 to n do

begin

m1:=(1+k)*m-50*l;

if a<(m1-m)/50 then l1:=(1+a)*l else l1:=(1+(m1-m)/50)*l;

l:=l1;

m:=m1;

end;

writeln('kolichestvo lis = ',l);

writeln('kolichestvo krol = ',m);

readkey;

end.

Решение в Excel:

На рисунке видно, что в ячейки B1-B4 вводим исходные данные. В ячейку E8 вводим формулу =(1+МИН($B$3;(F8-F7)/50))*E7 затем растягиваем ячейки вниз на необходимое количество лет (в данном примере 21 год; от 0 до 20). В ячейку =(1+$B$4)*F7-E7*50 и аналогично растягиваем. В результате в ячейках E7-E27 получим количество лис в соответствующих справа годах. В F7-F27 – количество кроликов. Например, видно, что при начальном количестве кроликов = 10000, при количестве лис = 100, и коэффициентах роста для кроликов = 4 и лис =0,1 количество кроликов через 10 лет будет 85136221274 а лис 259.

Статистические вычисления в среде MathCAD - student2.ru

Задания:

Исследуйте по модели количество кроликов и лис при начальном количестве 1000 кроликов. Что произошло? В чём погрешность модели?

Исследуйте по модели количество кроликов и лис при начальном количестве 10000 кроликов и различных коэффициентах роста кроликов и лис. Сделайте выводы.

Сделайте выводы о взаимосвязи между различными параметрами.

Краевые задачи:

Используя метод конечных разностей решить краевую задачу:

Статистические вычисления в среде MathCAD - student2.ru

U(x,0)=2*cos(x+0.55)

Статистические вычисления в среде MathCAD - student2.ru x=a = sin(t)

U(0.6,t)=0.817+2*t

Текст задачи на Pascal

Program kraevaya_zadacha;

uses crt;

const x0 = 0; {начальная точка стержня}

dx = 0.1; {шаг разбиения стержня}

nx = trunc(0.6/dx); {количество разбиений }

t0 = 0; {начальный момент времени}

dt = 0.001; {шаг по времени –берётся из условия устойчивости }

T = 20; {количество промежутков времени}

var u0,u1:array [0..nx] of real;

x,t1:real;

i,j,i1:integer;

begin

clrscr;

{ ========================Вывод на экран строки значений х ================}

write (' ':7);

for i:=0 to nx do

begin

x:=x0+i*dx;

write('|',x:7:4);

end;

writeln;

writeln('---------------------------------------------------------------');

{========Вычисление в цикле значения температуры в начальный момент времени===}

for i:=0 to nx do

begin

x:=x0+i*dx;

u0[i]:=2*cos(x+0.55);

end;

for j:=0 to T do {открываем цикл по времени}

begin

t1:=t0+j*dt;

u1[nx]:= 0.817+2*t1; {Задаём правое граничное условие}

for i:=1 to nx-1 do

{=================Вычисление температуры на следующем слое}

U1[i]:=(dt*(U0[i+1]-2*U0[i]+U0[i-1]))/(dx*dx)+U0[i] ;

U1[0]:= U1[1]-dx*sin(t1); {вычисление левого граничного условия}

{=======================Вывод результатов на экран}

write(t1:7:4);

for i1:=0 to nx do

write ('|',u1[i1]:7:4);

writeln;

U0:=U1; {переприсваивание массивов}

End; {Закрытие цикла по времени}

end.

Решение в Excel:

На рисунке видно, что в ячейках C23-I23 содержаться точки стержня (от 0 до 0.6). В ячейках B2-B22 содержаться значения моментов времени. Тогда на пересечении строки и столбца находится соответствующие искомые значения.

Статистические вычисления в среде MathCAD - student2.ru

В ячейку С22 вводим формулу =D22-SIN(B22)*0,1 затем растягиваем её вверх до С2 (из условия Статистические вычисления в среде MathCAD - student2.ru x=a = sin(t)). В ячейку D22 вводим =2*COS(D23+0,55) и растягиваем до ячейки H22 (из условия U(x,0)=2*cos(x+0.55)). Вводим в I22 формулу =0,817+2*B22 (из условия U(0.6,t)=0.817+2*t) и растягиваем вверх до I2. Затем в D21 вводим формулу =(0,001*(E22-2*D22+C22))/(0,1*0,1)+D22 (из условия Статистические вычисления в среде MathCAD - student2.ru ) и растягиваем от D21 вверх и вправо до H2. В результате мы получим значения для каждой точки в каждый момент времени.

Задания: сравните данные таблицы с результатами работы программы на Pascale.

Моделирование в среде MathCAD задачи «Хищники и жертвы».

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

Выбираем стандартную функцию ORIGIN

ORIGIN:=1

B:=4 {из данных}

Статистические вычисления в среде MathCAD - student2.ru {столбец неизвестных}

F(t,y):= Статистические вычисления в среде MathCAD - student2.ru

ORIGIN:=0

z:=Rkadapt(y,0,50,1001,F)

t:=z(0)

x:=z(1)

y:=z(2)

Строится график:

Статистические вычисления в среде MathCAD - student2.ru

Наши рекомендации