Вход

Возможности систем компьютерной математики MathCAD для решения задач математической статистики

Курсовая работа* по программированию
Дата добавления: 10 января 2007
Язык курсовой: Русский
Word, rtf, 2.3 Мб
Курсовую можно скачать бесплатно
Скачать
Данная работа не подходит - план Б:
Создаете заказ
Выбираете исполнителя
Готовый результат
Исполнители предлагают свои условия
Автор работает
Заказать
Не подходит данная работа?
Вы можете заказать написание любой учебной работы на любую тему.
Заказать новую работу
* Данная работа не является научным трудом, не является выпускной квалификационной работой и представляет собой результат обработки, структурирования и форматирования собранной информации, предназначенной для использования в качестве источника материала при самостоятельной подготовки учебных работ.
Очень похожие работы

содержание

Введение 3

1 Статистические функции пакета MathCAD 6

1.1 Статистика совокупностей 7

1.2 Распределение вероятностей 8

1.2.1 Плотности распределения вероятности 8

1.2.2 Функции распределения 11

1.2.3 Обращения функций распределения 12

1.3 Функция hist 14

1.4 Случайные числа 14

1.5 Интерполяция и функции предсказания 17

1.5.1 Линейная интерполяция 17

1.5.2 Кубическая сплайн-интерполяция 18

1.5.3 Интерполяция сплайнами функций нескольких переменных 20

1.5.4 Линейное предсказание 22

1.6 Функции регрессии 23

1.6.1 Линейная регрессия 23

1.6.2 Полиномиальная регрессия 24

1.6.3 Многомерная полиномиальная регрессия 25

1.6.4 Обобщенная регрессия 26

1.7 Функции сглаживания 28

2 Прикладное использование рассмотренных теоретических сведений 31

2.1 Метод наименьших квадратов 31

2.2 Оценка функции и плотности распределения случайной величины 33

2.3 Точечная оценка числовых характеристик. Методы оценок параметров 36

2.4 Интервальные оценки числовых характеристик 37

2.5 Критерии согласия 40

2.6 Зависимость случайных величин, регрессия. 43

Заключение 46

Список используемой литературы 47

  1. Введение

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

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

Необходимость в этом отпала лишь после появления интегрированных математических программных систем для научно-технических расчетов: Eureka, PC MatLAB, MathCAD, Maple, Mathematica и др. Большое число подобных разработок свидетельствует о значительном интересе к ним во всем мире и бурном развитии компьютерных математических систем.

Широкую известность и заслуженную популярность еще в середине 80-х годов приобрели интегрированные системы для автоматизации математических расчетов класса MathCAD, разработанные фирмой MathSoft (США). По сей день они остаются единственными математическими системами, в которых описание решения математических задач дается с помощью привычных математических формул и знаков. Такой же вид имеют и результаты вычислений. Так что системы MathCAD вполне оправдывают аббревиатуру CAD (Computer Aided Design), говорящую о принадлежности к наиболее сложным и продвинутым системам автоматического проектирования — САПР. Можно сказать, что MathCAD — своего рода САПР в математике.

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

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

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

В своей работе я хотел бы рассмотреть возможности системы MathCAD для решения задач математической статистики. В нашем ВУЗе эти задачи решаются с помощью MS Excel. На мой взгляд, MathCAD дает более наглядное и красивое решение статистических задач и гораздо проще в использовании.

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

Сформулированная цель потребовало решения следующих задач:

  1. Рассмотрение характеристик статистических функций системы MathCAD.

  2. Изучение работы системы MathCAD для решения задач математической статистики.

  3. Рассмотреть работы некоторых статистических функций системы MathCAD на конкретных примерах.

Поставленные цели были решены при помощи следующих методов исследования:

  1. Теоретический (изучение и анализ литературы связанной с решением задач математической статистики средствами компьютерной математики).

  2. Эмпирический (решение задач математической статистики средствами системы компьютерной математики MathCAD, наблюдение за решение этих задач в MS Excel).

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

Список литературы состоит из 10 наименований.


  1. Статистические функции пакета MathCAD

В данной главе приводится перечень, и дается описание встроенных функций пакета MathCAD. Эти функции выполняют широкий спектр вычислительных заданий, включая статистический анализ, интерполяцию и регрессионный анализ.

Эта глава состоит из следующих разделов:

Статистики совокупностей

Функции, вычисляющие среднее значение, дисперсию и корреляцию выборочных данных.

Распределения вероятностей

Функции плотности вероятности, функции распределения и обратные к ним более чем для дюжины распрост­ранённых функций распределения.

Гистограммы

Как вычислить число величин, попадающих в заданные интервалы.

Случайные числа

Генерирование случайных величин, подчиняющихся различ­ным законам распределения.

Функции интерполяции и предсказания

Интерполяция линейным и кубическим сплайном. Интерпо­ляция функций многих переменных.

Функции вычисления регрессии

Функции вычисления линейной регрессии, полиномиаль­ной регрессии и регрессии, использующей комбинации произвольных функций.

Функции сглаживания

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


    1. Статистика совокупностей

MathCAD содержит шесть функций для вычисления статистических оце­нок случайных совокупностей. В последующих описаниях m и n пред­ставляют число рядов и столбцов рассматриваемых массивов. В используемых далее формулах переменная ORIGIN по умолчанию при­нята равной нулю.

mean(А) Возвращает среднее значение элементов массива А размернос­ти согласно формуле

median(A) Возвращает медиану элементов массива А. Медианой на­зывается величина, выше и ниже которой в вариационном ряду находится равное количество членов. Если А имеет четное чис­ло элементов, медиана определяется как среднее арифметичес­кое двух центральных величин.

var(A) Возвращает дисперсию элементов массива А размерности согласно формуле

cvar(A,В) Возвращает ковариацию элементов массивов А и В размернос­ти согласно формуле

где черта указывает на комплексно-сопряженную величину.

stdev(A) Возвращает среднеквадратичное отклонение (квадратный ко­рень из дисперсии) элементов массива А:

corr(A,В) Возвращает скаляр: коэффициент корреляции для двух мас­сивов А и В.

    1. Распределение вероятностей

MathCAD использует несколько функций для работы с распространёнными плотностями вероятности. Эти функции распадаются на три класса:

Плотности распределения вероятности: вероятность того, что случайная величина будет находиться в окрестности определённой точки, про­порциональна плотности распределения вероятности случайной величи­ны в этой точке.

  • Функции распределения (вероятности): они дают вероятность, что слу­чайная величина будет принимать значение, меньшее или равное опре­деленной величине. Они получены просто интегрированием (или суммированием, когда это необходимо) соответствующей плотности вероятности по подходящему интервалу значений.

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

      1. Плотности распределения вероятности

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

dbeta(x,s1,s2) Возвращает плотность вероятности бэта-распределения:

где (s1,s2>0) являются параметрами формы. (0


dbinom(k,n,p) Возвращает P(X=k), когда случайная величина X имеет

биномиальное распределение:

в котором n и k являются целыми числами, удовлетворяющими условию . p удовлетворяет .

dcauchy(x,l,s) Возвращает плотность вероятности распределения Коши:

в котором l является параметром расположения, а s>0 есть параметр масштаба.

dchisq(x,d) Возвращает плотность вероятности для хи-квадрат распределения:

в котором d>0 является числом степеней свободы, и х>0.

dexp(x,r) Возвращает плотность вероятности экспоненциального распределения:

в котором r>0 является параметром, и х>0.

dF(x,d1,d2) Возвращает плотность вероятности F-распределения:

в котором d1,d2>0 являются числами степеней свободы и х>0.

dgamma(x,s) Возвращает плотность вероятности Гамма-распределения:

в котором s>0 является параметром формы, и .

dgeom(k,р) Возвращает P(X=к), когда случайная величина X подчиняется геометрическому распределению

в котором является вероятностью успеха в от­дельном испытании, k есть неотрицательное целое число.

dlnorm(x,?,?) Возвращает плотность вероятности логнормального распределения:

в котором ? равно натуральному логарифму среднего значения, ?>0 равно натуральному логарифму средне­квадратичного отклонения, и х>0.

dlogis(x,l,s) Возвращает плотность вероятности логистического распределения:

в котором l является параметром расположения, и s>0 есть параметр масштаба.

dnbinom(k,n,р) Возвращает p(Х=k), когда случайная величина X имеет отрицательное биномиальное распределение:

в котором ,а n и k являются целыми числами, n>0 и k?0

dnorm(x,?,?) Возвращает плотность вероятности нормального распределения:

в котором ? и ? есть среднее значение и среднеквадра­тичное отклонение, ?> 0.

dpois(k,?) Возвращает Р(Х=k), когда случайная величина X имеет распределение Пуассона:

в котором ?>0, а k является неотрицательным целым числом.

dt(x,d) Вычисляет плотность вероятности t -распределения Стьюдента:

в котором d является числом степеней свободы, d>0, a x есть вещественное число.

dunif(x,a,b) Вычисляет плотность вероятности равномерного распределения:

в котором b и а являются граничными точками интер­вала, a

dweibull(x,s) Вычисляет плотность вероятности распределения Вейбулла:

в котором s>0 есть параметр формы и х>0.

      1. Функции распределения

Эти функции возвращают вероятность того, что случайная величина меньше или равна определенному значению. Функция распределения вероятности – просто функция плотности вероятности, проинтегриро­ванная от до определенного значения. Для целочисленных случайных величин интеграл заменен суммированием по соответствую­щим индексам.

Функции плотности вероятности, соответствующие каждой из следую­щих функций распределения, даны в подразделе "Плотности распреде­ления вероятности".

cnorm(x) Возвращает стандартную нормальную функцию распределения. Эквивалент pnorm(x,0,1).

pbeta(х,s1,s2) Возвращает функцию бэта-распределения с параметрами формы s1 и s2. (s1,s2>0)

pbinom(k,n,р) Возвращает функцию биномиального распределения для k успехов в n испытаниях, n есть натуральное число, р есть вероятность успеха, 0?p?1.

pcauchy(x,l,s) Возвращает функцию распределения Коши с параметром масштаба s и параметром расположения l, s >0.

pchisq(x,d) Возвращает функцию распределения хи-квадрат, в котором d>0 равно числу степеней свободы.

рехр(х,r) Возвращает функцию экспоненциального распределения, в котором r>0 является параметром.

pF(x,d1,d2) Возвращает функцию F-распределения, в котором d1,d2>0 являются числами степеней свободы.

pgamma(x,s) Возвращает функцию Гамма-распределения, в котором s>0 является параметром формы.

pgeom(к,р) Возвращает функцию геометрического распределения, р есть вероятность успеха в одиночном испытании. 0<р>

plnorm(х,?,?) Возвращает функцию логнормального распределения, в котором ? равно логарифму среднего значения, а ?>0 есть логарифм среднеквадратичного отклонения.

plogis(x,l,s) Возвращает функцию логистического распределения. l есть параметр расположения, s>0 – параметр масштаба.

pnbinom(k,n,р) Возвращает функцию отрицательного биномиального распределения, в котором 0<р?1. n – натуральное.

pnorm(x,?,?) Возвращает функцию нормального распределения со средним ? и среднеквадратичным отклонением ?, ?>0.

ppois(к,?) Возвращает функцию распределения Пуассона. ?>0.

pt(x,d) Возвращает функцию t-распределения Стьюдента. d есть число степеней свободы. d>0.

punif(х,а,b) Возвращает функцию равномерного распределения, b и а есть граничные точки интервала, а

pweibull(x,s) Возвращает функцию распределения Вейбулла. s>0.

      1. Обращения функций распределения

Эти функции принимают вероятность р как аргумент и возвращают значение х такое, что Р(Х?х)=р.

Функции плотности распределения, соответствующие каждому из следующих обратных функций распределения даны в подразделе "Плотно­сти распределения вероятности".

qbeta (p,s1,s2) Обращает бета-распределение с параметрами формы s1 и s2. (0?р?1) (s1,s2>0).

qbinom(р,n,r) Возвращает число успехов в n испытаниях схемы Бернулли при условии, что вероятность успехов не превышает р и r – вероятность успеха на одиночном испытании. 0?r?1 и 0?p?1. n есть натуральное число.

qcauchy(p,l,s) Обращает распределение Коши с параметром масштаба s и параметром расположения l. s>0. 0?р< 1.

qchisq(p,n) Обращает хи-квадрат распределение, в котором d>0 является числом степеней свободы. 0?р< 1.

qexp(p,r) Обращает экспоненциальное распределение, в котором r>0 является параметром. 0?р< 1.

qF(p,d1,d2) Обращает F-распределение, в котором d1, d2>0 являются числами степеней свободы. 0?p<1>

qgamma(p,s) Обращает Гамма-распределение, в котором s>0 является параметром формы. 0?р<1>

qgeom(р,r) Обращает геометрическое распределение, r – вероятность успеха при одиночном испытании. 0

qlnorm(p,?,?) Обращает логнормальное распределение, в котором ? яв­ляется натуральным логарифмом среднего значения, ?>0 – натуральный логарифм среднеквадратичного отклонения. 0?р< 1.

qlogis(р,l,s) Обращает логистическое распределение. l – параметр расположения, s>0 – параметр масштаба. 0<р>

qnbinom(p,n,r) Обращает отрицательное биномиальное распределение с числом испытаний n и вероятностью успеха в одиночном испытании r. 0

qnorm(p,?,?) Обращает нормальное распределение со средним ? и среднеквадратичным отклонением ?. 00.

qpois(p,?) Обращает распределение Пуассона. ?>0 и 0?p?1.

qt(p,d) Обращает t-распределение Стьюдента. d – число степеней свободы. d>0 и 0

qunif(p,a,b) Обращает равномерное распределение. b и a – граничные точки интервала. a

qweibull(p,s) Обращает распределение Вейбулла. s>0 и 0

    1. Функция hist

Mathcad включает одну функцию, hist, для вычисления частотного рас­пределения, применяемого для построения гистограмм:

hist(int,А) Возвращает вектор, представляющий частоты, с которыми вели­чины, содержащиеся в векторе А, попадают в интервалы, пред­ставляемые вектором int. Элементы в А и int и должны быть вещественными. Кроме того, элементы int должны быть распо­ложены в порядке возрастания. Возвращаемый результат – вектор, содержащий на один элемент меньше, чем int.

Mathcad интерпретирует int как набор точек, определяющих последова­тельность интервалов в гистограмме. Значения в int должны быть рас­положены в порядке возрастания. Результатом этой функции является вектор f, в котором fi есть число значений в А, удовлетворяющих усло­вию:

Mathcad игнорирует данные, меньшие, чем первое значение в int, или большие, чем последнее значение в int.

    1. Случайные числа

Mathcad поставляется с рядом функций для генерирования случайных чи­сел, имеющих разнообразные распределения вероятностей. Функциональ­ные формы распределений, связанных с приведенными ниже функциями даны в подразделе "Плотности распределения вероятности.

rbeta(m,s1,s2) Возвращает вектор m случайных чисел, имеющих бэта-распределение. s1,s2>0 есть параметры формы.

rbinom(m,n,р) Возвращает вектор m случайных чисел, имеющих биномиальное распределение. 0?р?1. n есть натуральное число.

rcauchy(m,l,s) Возвращает вектор m случайных чисел, имеющих распре­деление Коши. s>0 есть параметр масштаба. l – пара­метр расположения.

rchisq(m,d) Возвращает вектор m случайных чисел, имеющих распре­деление хи-квадрат. d>0 есть число степеней свободы.

rехр(m,r) Возвращает вектор m случайных чисел, имеющих экспоненциальное распределение. r>0 — параметр распреде­ления.

rF(m,d1,d2) Возвращает вектор m случайных чисел, имеющих F-pacпределение. d1,d2 >0 есть числа степеней свободы.

rgamma(m,s) Возвращает вектор m случайных чисел, имеющих гамма-распределение, s>0 есть параметр формы.

rgeom(m,p) Возвращает вектор m случайных чисел, имеющих геометрическое распределение. 0<р>

rlnorm (m,?,?) Возвращает вектор m случайных чисел, имеющих логнормальное распределение, в котором ? является натураль­ным логарифмом среднего значения, а ?>0 есть натуральный логарифм среднеквадратичного отклонения.

rlogis(m,l,s) Возвращает вектор m случайных чисел, имеющих логистическое распределение, в котором l является параметром расположения, a s>0 есть параметр масштаба.

rnbinom(m,n,р) Возвращает вектор m случайных чисел, имеющих отрица­тельное биномиальное распределение. 0<р?1. n есть на­туральное число.

rnorm(m,?,?) Возвращает вектор m случайных чисел, имеющих нормальное распределение. ?>0.

rpois(m,?) Возвращает вектор m случайных чисел, имеющих распределение Пуассона. ?>0.

rt(m,d) Возвращает вектор т случайных чисел, имеющих t-pacпределение Стьюдента. d>0.

runif(m,a,b) Возвращает вектор m случайных чисел, имеющих равномерное распределение, в котором b и а являются гранич­ными точками интервала, а

rnd(х) Возвращает равномерно распределенное случайное число между 0 и х. Эквивалент runif(1,0,х).

rweibull(m,s) Возвращает вектор m случайных чисел, имеющих распределение Вейбулла, в котором s>0 является парамет­ром формы.

Каждый раз, когда повторно вычисляется выражение, содержащее одну из этих функций, Mathcad генерирует новые случайные числа. Чтобы заставить Mathcad генерировать новые случайные числа, щёлкните мышью на выражении, содержащем функцию, и нажмите [F9].

Каждая из этих функций в действительности создаёт последователь­ность псевдослучайных чисел, связанную с некоторым задаваемым стартовым значением. Каждое нажатие [F9] заставляет функцию вы­дать новое значение из этой последовательности. Одно и то же стартовое значение производит одинаковые последовательности чисел. Изменение стартового значения приводит к смене последовательности случайных чисел, выдаваемых функцией.

Чтобы изменить стартовое значение, выберите Генератор случайных чисел... из меню Математика и измените стартовое значение в диало­говом окне. Убедитесь, что введено целое число.

Чтобы перезапустить генератор случайных чисел Mathcad, не изменяя стартового значения, выберите Генератор случайных чисел... из меню Математика и нажмите "ОК", чтобы принять текущее значение. За­тем щёлкните мышью на выражении с функцией, генерирующей слу­чайное число, и нажмите [F9].

Так как генератор случайных чисел был сброшен, Mathcad будет производить те же самые случайные числа, которые производились бы после перезапуска Mathcad.

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

Чтобы получить новый набор случайных чисел, измените стартовое значение, как описано выше. Это заставит Mathcad генерировать на­бор случайных чисел, отличный от того, который создаётся после пе­резапуска Mathcad. Каждый раз при необходимости получить новую последовательность случайных чисел следует переустанавливать стар­товое значение, как описано выше.

    1. Интерполяция и функции предсказания

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

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

Линейное предсказание заключается в использовании существующих значений данных, чтобы предсказать значения за их пределами. В Mathcad есть функция, которая позволяет предсказывать будущие значе­ния данных на основе уже имеющихся данных.

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

      1. Линейная интерполяция

При линейной интерполяции Mathcad соединяет существующие точки данных прямыми линиями. Это выполняется функцией linterp, описанной ниже.

linterp(vx,vy,x) Использует векторы данных vx и vy, чтобы возвратить линейно интерполируемое значение у, соответствующее третьему аргументу х. Аргументы vx и vy должны быть векторами одинаковой длины. Вектор vx должен содер­жать вещественные значения, расположенные в порядке возрастания.

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

Для значений х, расположенных перед первой точкой в vx, Mathcad продолжает ломаную прямой линией, проходящей через первые две точ­ки данных. Для значений х, расположенных за последней точкой в vx, Mathcad продолжает ломаную прямой линией, проходящей через последние две точки данных.

Для получения наилучших результатов значение х должно находиться между самым большим и самым маленьким значениями в векторе vx – маловероятно, что будут полезны значения, вычисленные для х вне этого диапазона. Функция linterp предназначена для интерполяции, а не экстраполяции.

      1. Кубическая сплайн-интерполяция

Кубическая сплайн-интерполяция позволяет провести кривую через набор точек таким образом, что первые и вторые производные кривой непрерывны в каждой точке. Эта кривая образуется путем создания ряда кубических полиномов, проходящих через наборы из трёх смежных то­чек. Кубические полиномы затем состыковываются друг с другом, что­бы образовать одну кривую.

Чтобы провести кубический сплайн через набор точек:

  • Создайте векторы vx и vy, содержащие координаты х и у, через ко­торые нужно провести кубический сплайн. Элементы vx должны быть расположены в порядке возрастания. (Хотя мы используем имена vx, vy и vs, нет никаких ограничений на имена этих переменных; можно использовать любые имена.)

  • Вычислите вектор vs:=cspline(vx,vy). Вектор vs содержит вторые производные интерполяционной кривой в рассматриваемых точках.

  • Чтобы найти интерполируемое значение в произвольной точке, ска­жем х0, вычислите interp(vs, vx, vy, x0), где vs, vx и vy – векторы, описанные ранее.

Обратите внимание, что можно сделать то же самое, вычисляя: interp(cspline(vx,vy), vx, vy, x0)

На практике, возможно, придётся вычислять inlerp во многих различ­ных точках. Так как обращение к cspline может требовать много вре­мени, и так как возвращаемый ею результат не зависит от рассматриваемой точки, имеет смысл сделать это один раз, сохра­нить результат и многократно использовать, как описано выше.

Выражение с функцией cspline вычисляет массив вторых производных vs для сплайна, используемого для интерполяции данных из vx и vy.

Как только массив vs найден, функция interp вычисляет интерполируе­мые значения.

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

В дополнение к cspline MathCAD поставляется с двумя другими кубически­ми сплайн-функциями. Три сплайн-функции: cspline(vx,vy), pspline(vx,vy), lspline(vx,vy). Они все возвращают вектор коэффициентов вторых производных, который мы будем называть vs. Этот вектор, vs, обычно используется в функции interp, описанной ниже. Аргументы vx и vy должны быть вещественнозначными векторами одинаковой длины. Значения в vx должны быть вещественны и расположены в порядке возрастания.

Эти три функции отличаются только граничными условиями:

  • функция lspline генерирует кривую сплайна, которая приближается к прямой линии в граничных точках.

  • функция pspline генерирует кривую сплайна, которая приближается к параболе в граничных точках.

  • функция cspline генерирует кривую сплайна, которая может быть кубическим полиномом в граничных точках.

interp(vs,vx,vy,x) Возвращает интерполируемое значение у, соответствующее аргументу x. Вектор vs вычисляет­ся на основе векторов данных vx и vy одной из функций lspline, pspline или cspline.

Интерполируемое значение для конкретного х есть ордината у соответствующей точки сплайна. Для значений х, расположенных перед первой точкой в vx, Mathcad продолжает сплайн первой из составляю­щих его кубических парабол. Для значений х, расположенных за пос­ледней точкой в vx, Mathcad продолжает сплайн последней из составляющих его кубических парабол.

Для получения наилучших результатов значение х должно находиться между самым большим и самым маленьким значениями в векторе vx – маловероятно, что будут полезны значения, вычисленные для х вне этого диапазона. Сплайны предназначены для интерполяции, а не экстраполяции.

      1. Интерполяция сплайнами функций нескольких переменных

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

Первый шаг в двумерной сплайн-интерполяции — точно такой же, как и в одномерном случае: определить узлы, через которые поверх­ность должна пройти. Однако это потребует больше усилий, потому что теперь нужно определить сетку узлов:

  • Создайте матрицу Мху, чьи элементы, Mxyi,0 и Мхуi,1 опреде­ляют х и у координаты по диагонали прямоугольной сетки. Эта мат­рица играет ту же самую роль, что и vx в одномерном случае, описанном ранее. Так как эти узлы описывают диагональ, элементы в каждом столбце Мху должны быть расположены в порядке возрас­тания (Mxyi,k< Мхуj,k всякий раз, когда i<j).

  • Создайте матрицу Mz, чей (ij) – элемент есть координата z со­ответствующая точке х=Mxyi,0 и y = Mxyi,j. Она играет ту же самую роль, что и vy в одномерном случае, описанном ранее.

  • Вычислите вектор vs:=cspline(Mxy,Mz). Вектор vs содержит вторые производные приближающей поверхности в узлах, определенных Мху и Mz.

  • Чтобы найти интерполируемое значение в произвольной точке, ска­жем (х0,у0), вычислите interp где vs, Мху и Mz – массивы, описанные ранее. Результатом являет­ся значение интерполирующей функции, соответствующее точке (х0,у0).

Обратите внимание, то же самое можно сделать, вычисляя

interp(cspline(Mxy,Mz),Мху,Mz,)

На практике, возможно, придётся вычислять interp во многих различ­ных точках. Так как обращение к cspline может требовать много вре­мени, и так как возвращаемый ею результат не зависит от рассматриваемой точки, имеет смысл сделать это один раз, сохра­нить результат и многократно использовать, как описано выше.

В дополнение к cspline MathCAD поставляется с двумя другими функциями сплайн-интерполяции. Функции сплайн-интерполяции MathCAD: cspline(Mxy,Mz), lspline(Mxy,Mz), pspline(Mxy,Mz). Они все возвращают вектор коэффициентов вторых производных, который мы будем называть vs. Этот вектор, vs, обычно используется в функции interp, описанной ниже. Мху матрица, чьи элементы Mxyi,0 и Мхуi,i опреде­ляют точки на диагонали сетки. (ij) – элемент матрицы Mz определяет значение интерполирующей функции в (Mxyi,0,Мхуi,j).

Эти три функции отличаются только граничными условиями:

  • функция lspline генерирует сплайн, который приближается к плоско­сти на краях сетки.

  • функция pspline генерирует сплайн, который представляет полином второй степени от x и у на краях сетки.

  • функция cspline генерирует сплайн, который представляет полином третьей степени от х и у на краях сетки.

interp(vs,Мху,Mz,v) Возвращает интерполируемое значение z, соот­ветствующее точкам x=v­0 и у=v1. Вектор vs вычисляется lspline, pspline, или cspline на осно­ве данных из Мху и Mz.

Для получения наилучших результатов не используйте функцию interp для значений x и у, удалённых от узлов сетки. Сплайны предназначе­ны для интерполяции, а не экстраполяции, поэтому маловероятно, что значения, вычисленные для таких х и у, будут полезны.

      1. Линейное предсказание

Функции интерполяции, описанные в этом разделе до сих пор, позволя­ют по заданным значениям некоторой функции в ряде точек оценить её значения в промежуточных точках. Иногда необходимо оценить значения функции в точках, находящихся вне области расположения сет­ки, на которой заданы значения функции. В MathCAD есть функция pre­dict, которая позволяет это сделать. Эта функция использует линейный алгоритм предсказания, который является полезным, когда экстраполируе­мая функция является гладкой и осциллирующей, хотя не обязательно перио­дической. Линейное предсказание можно рассматривать как разновид­ность экстраполяции, но его нельзя путать с линейной или полиноми­альной экстраполяцией.

predict(v,m,n) Возвращает n предсказанных значений, осно­ванных на n последовательных значениях векто­ра данных v. Элементы в v должны представлять собой значения, взятые через рав­ные интервалы.

Функция predict использует последние n исходных значений данных, чтобы вычислить коэффициенты предсказания. Как только это сдела­но, она использует последние n точек, чтобы предсказать координа­ты (m+1)-ой точки, фактически создавая скользящее окно шириной в m точек.

    1. Функции регрессии

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

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

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

      1. Линейная регрессия

Эти функции возвращают наклон и смещение линии, которая наилуч­шим образом приближает данные в смысле наименьших квадратов. Если поместить значения x в вектор vx и соответствующие значения у в vy, то линия определяется в виде

у=slope(vx,vy)x+intercept(vx,vy)

slope(vx,vy) Возвращает скаляр: наклон линии регрессии всмысле наименьших квадратов для данных из vx и vy.

intercept(vx,vy) Возвращает скаляр: смещение по оси ординат линии регрессии в смысле наименьших квадра­тов для данных из vx и vy.

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

,

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

В этом случае

A=exp(intercept(vx,vy)) и k=slope(vx,vy)

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

      1. Полиномиальная регрессия

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

Используйте regress, когда нужно использовать единственный поли­ном, чтобы приблизить все данные. Функция regress допускает исполь­зование полинома любого порядка. Однако на практике не следует использовать степень полинома выше n=4.

Так как regress пытается приблизить все точки данных, используя один полином, это не даст хороший результат, когда данные не связа­ны единой полиномиальной зависимостью. Например, предположим, ожидается, что yi зависят линейно от х в диапазоне от x1 до х10 и ве­дут себя подобно кубическому полиному в диапазоне от х11 до x20. Если используется regress с n=3, можно получить хорошее приближе­ние для второй половины, но ужасное – для первой. Функция loess облегчает эти проблемы, выполняя локальное приближение. Вместо со­здания одного полинома, как это делает regress, loess создаёт различ­ные полиномы второго порядка в зависимости от расположения на кривой.

Она делает это, исследуя данные в малой окрестности точки, представляющей интерес. Аргумент span управляет размером этой окрестности. По мере того как диапазон становится большим, loess становится эквивалентным regress с n=2. Хорошее значение по умолчанию – span=0.75.

regress(vx,vy,n) Возвращает вектор, требуемый interp, чтобы найти полином порядка n, который наилучшим образом приближает данные из vx и vy. vx есть m-мерный вектор, содержащий координа­ты x. vy есть m-мерный вектор, содержащий координаты у соответствующие m точкам, оп­ределенным в vx.

loess(vx,vy,span) Возвращает вектор, требуемый interp, чтобы найти набор полиномов второго порядка, кото­рые наилучшим образом приближают опре­делённые окрестности выборочных точек, определенных в векторах vx и vy. vx есть m-мерный вектор, содержащий координаты х. vy m-мерный вектор, содержащий координаты у, соответствующие т точкам, определенным в vx. Аргумент span (span>0) определяет, насколь­ко большие окрестности loess будет использо­вать при выполнении локального приближения.

interp(vs,vx,vy,x) Возвращает интерполируемое значение у, соответствующее х. Вектор vs вычисляется loess или regress на основе данных из vx и vy.

      1. Многомерная полиномиальная регрессия

Функции loess и regress, обсужденные в предыдущем разделе, также полезны, когда имеется набор измеренных величин z, соответствую­щих значениям х и у, и необходимо приблизить полиномами поверх­ность, проходящую через эти значения z.

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

  • Аргумент vx, который был m-мерным вектором значений х, стано­вится матрицей, состоящей из т рядов и 2 столбцов, Мху. Каждая стро­ка Мху содержит x в первом столбце и соответствующее значение у во втором столбце.

  • Аргумент х для функции interp становится двумерным вектором v, чьи элементы – значения х и у, в которых нужно найти значение полиномиальной функции, представляющей наилучшее приближение данных из Мху и уz.

regress(Мху,vz,k) Возвращает вектор, требуемый interp, чтобы найти полином k-oгo порядка, который наилуч­шим образом приближает данные из Мху и vz. Мху есть матрица, содержащая х-у ко­ординаты, vz есть m-мерный вектор, содержа­щий значения z, соответствующие точкам, определенным в Мху.

loess(Мху,vz,span) Возвращает вектор, требуемый interp, чтобы найти набор полиномов второго порядка, кото­рые наилучшим образом приближают опре­делённые окрестности выборочных точек, определенных в массивах Мху и vz. Мху матрица, содержащая х-y координаты, vzт-мерный вектор, содержащий координа­ты z, соответствующие т точкам, определен­ным в Мху. Аргумент span (span>0) определяет, насколько большую окрестность lo­ess будет рассматривать при выполнении ло­кального приближения.

interp(vs,Мху,vz,v) Возвращает интерполируемое значение z, соответствующее точке x=v0 и y=v1. Вектор vs вы­числяется loess или regress на основе данных из Мху и vz.

      1. Обобщенная регрессия

К сожалению, линейная или полиномиальная функции не во всех слу­чаях подходят для описания зависимости данных. Бывает, что нужно ис­кать эту зависимость в виде линейных комбинаций произвольных функций, ни одна из которых не является полиномом. Например, в ря-.. дах Фурье следует аппроксимировать данные, используя линейную комбинацию комплексных экспонент. Или предполагается, что данные могут быть смоделированы в виде линейной комбинации полиномов Лежандра, но только неизвестно, какие необходимо взять коэффициенты.

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

y=a0f0(x)+a1f1(x)+…+anfn(x)

следует использовать linfit, чтобы вычислить ai.

Всё-таки имеются случаи, когда гибкость linfit недостаточна – дан­ные должны быть смоделированы не линейной комбинацией данных, а некоторой функцией, чьи параметры должны быть выбраны. На­пример, если данные могут быть смоделированы в виде суммы

f(x)=a1sin(2x)+a2tanh(3x)

и всё, что нужно сделать – решить уравнение относительно неизве­стных коэффициентов а1 и а2, значит эта проблема решается с помо­щью linfit.

В противоположность этому, если данные должны быть смоделиро­ваны в виде суммы

f(x)=2sin(a1x)+3tanh(a2x)

и требуется найти неизвестные параметры а1 и а2, то это задача для функции genfit.

linfit(vx,vy,F) Возвращает вектор, содержащий коэффициенты, используемые, чтобы создать линейную комбинацию функций из F, дающую наилуч­шую аппроксимацию данных из векторов vx и vy. F — функция, которая возвращает вектор, состоящий из функций, которые нужно объединить в виде линейной комбинации.

genfit(vx,vy,vg,F) Возвращает вектор, содержащий п параметров u0, u1, …, un-1 которые обеспечивают наилучшее приближение данных из vx и vy функцией f за­висящей от х и параметров u0, u1, …, un-1. F – функция, которая возвращает n+1-мерный век­тор, содержащий f и ее частные производные относительно параметров. vg есть n-мерный вектор начальных значений для n параметров.

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

    1. Функции сглаживания

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

Всякий раз, когда в любой из функций, описанных в этом разделе, используются векторы, убедитесь, что каждый элемент в векторе опре­делён. Так как каждый элемент в векторе должен иметь значение, MathCAD присваивает значение 0 любым элементам, которые явно не определены.

Функция medsmooth – наиболее устойчивая из трех, так как в мень­шей степени подвержена влиянию зашумленных данных. Эта функция использует сглаживание с помощью скользящей медианы, вычисляет ос­татки, сглаживает остатки тем же самым образом и суммирует эти два сглаженных вектора вместе. Более подробно:

  • Вычисление medsnrooth(vy,mf) начинается со сглаживания скользящей медианой исходного вектора vy. Сглаженный вектор мы будем назы­вать vy'. Его i-ый элемент дается выражением:

.

  • Затем вычисляются остатки: vr=vy-vy'.

  • Вектор остатков, vr, сглаживается с использованием процедуры, опи­санной на шаге 1. Это дает сглаженный вектор остатков vr'.

  • Функция medsmooth возвращает сумму из этих двух сглаженных век­торов: medsmooth(vy,n)=vy'+vr'.

Обратите внимание, что medsmooth будет оставлять первые и после­дние (n-1)/2 точки неизменяемыми. На практике длина окна сглажи­вания п должна быть мала по сравнению с длиной набора данных.

Функция ksmooth использует гауссово ядро, чтобы вычислить локаль­но взвешенные средние значения исходного вектора vy. Это сглажива­ние наиболее полезно, когда данные взяты в точках, отделяемых друг от друга интервалами приблизительно равной ширины. Если длина интервалов существенно изменяется, следует использовать адаптивное сглаживание подобное supsmooth.

Для каждого vyi в n-мерном векторе vy функция ksmooth возвращает новый vy'i, даваемый формулой

где

и b – параметр сглаживания. Его величина обычно устанавливается в несколько раз больше величины интервала между точками данных на оси х и определяется тем, насколько большое окно желательно ис­пользовать при сглаживании.

Функция supsmooth использует симметричную линейную процедуру сглаживания методом наименьших квадратов по правилу k-ближайших соседей, чтобы выполнить локальную линейную аппроксимацию ис­ходных данных. В отличие от ksmooth, который использует фиксиро­ванную ширину полосы сглаживания для всех исходных данных, supsmooth адаптивно выбирает различную ширину полосы сглажива­ния для различных частей данных.

medsmooth(vy,n) Возвращает m-мерный вектор, созданный сглаживанием vy с помощью скользящей медианы. vy есть m-мерный вектор вещественных чисел. n – ширина окна, по которому происходит сглаживание, n должно быть нечетным чис­лом, меньшим, чем число элементов в vy.

ksmooth(vx,vy,b) Возвращает n-мерный вектор, созданный сгла­живанием при помощи гауссова ядра данных из vy, vy и vx – n-мерные векторы веществен­ных чисел. Параметр b управляет окном сглажи­вания и должен быть установлен в несколько раз больше величины интервала между точками х.

supsmooth(vx,vy) Возвращает n-мерный вектор, созданный ло­кальным использованием симметричной линей­ной процедуры сглаживания методом наименьших квадратов по правилу k-ближайших соседей, в которой к выбирается адаптив­но, vy и vx – n-мерные векторы вещественных чисел. Элементы vx должны быть расположены в порядке возрастания.

  1. Прикладное использование рассмотренных теоретических сведений

    1. Метод наименьших квадратов

Пример 2.1?1









Пример 2.1?2















    1. Оценка функции и плотности распределения случайной величины

Пример 2.2?1







Пример 2.2?2




















    1. Точечная оценка числовых характеристик. Методы оценок параметров







    1. Интервальные оценки числовых характеристик





























    1. Критерии согласия









    1. Зависимость случайных величин, регрессия.










  1. Заключение

Данная курсовая работа позволила мне более близко познакомиться с пакетом системы компьютерной математики MathCAD. Мной были рассмотрены способы решения задач математической статистики с использованием данной программы.

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

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

Все это позволяет утверждать целесообразность обучения студентов нашего ВУЗа решению задач математической статистики с использование системы компьютерной математики MathCAD (в настоящее время для этого используется MS Excel).







Дата завершения работы: ___.___._____ г.


Подпись: ______________

  1. Список используемой литературы

  1. Бидасюк Ю.М. Mathsoft MathCAD 11. Самоучитель. – СПб: Диалектика, 2004. – 224 с.

  2. Бутенков С.А. Методические указания к использованию системы MathCad в практических занятиях по курсу высшей математики. – Таганрог : ТРТУ, 1995. – 450 с.

  3. Гмурман В.Е. Теория вероятностей и математическая статистика. Учебное пособие для ВУЗов. – М.: Высшая школа, 1972. – 368 с.

  4. Кудрявцев В.М. MathCAD 8. – М.: ДМК, 2000. – 320 с.

  5. Методические указания к лабораторным работам по математической статистике с применением ЭВМ./ И.П.Фирсов,О.С.Семерий. – Таганрог: ТРТУ, 2001. – 66 с. http://www.exponenta.ru/educat/systemat/semeriy/main.asp - 11.11.2005

  6. Методические указания к практическим занятиям по математической статистике с применением ЭВМ (для студентов 2 курса всех специальностей ЭГФ)./ И.П.Фирсов, А.В.Никитина, С.А.Бутенков. http://www.exponenta.ru/educat/systemat/butenkov/main.asp - 11.11.2005

  7. Плис А.И. MathCAD 2000: Математический практикум для экономистов/ А.И.Плис, Н.А.Сливина. – М.: Финансы и статистика, 2000. – 656 с.

  8. Учебник по Mathcad-2001. Сайт проф. Давыдова А.В. http://www.prodav.narod.ru/mathbook.htm - 11.11.2005

  9. Шушкевич Г.Ч. Введение в MathCAD 2000: Учебное пособие / Г.Ч. Шушкевич, С.В. Шушкевич. – Гродно: ГрГУ, 2001. – 138 с.

  10. MathCAD 6.0 PLUS. Финансовые, инженерные и научные расчеты в среде Windows 95./Перевод с англ. – М.: Информационно-издательский дом «Филин», 1996. – 712 с.


1