Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
MC методичка.DOC
Скачиваний:
14
Добавлен:
15.11.2019
Размер:
1.68 Mб
Скачать

1.13. Интерполяция

В системе MathCAD v. 3.0 предусмотрено два вида интерполяции:

  • линейная интерполяция - для соединения точек отрезками прямой линии;

  • кубическая сплайн-интерполяция - для соединения точек отрезками кубоид.

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

linterp(vx.vy,x) Возвращает линейно интерполированное значение x для векторов vx и vy.

  • vx является вектором вещественных данных, расположенных в возрастающем порядке. Они соответствуют значениям x.

  • vy является вектором вещественных данных. Значения его элементов соответствуют значениям y. Число элементов в векторе vy такое же, что и в векторе vx.

  • x является значением независимой переменной, для которой необходимо найти интерполированное значение y. Для получения хороших результатов значение x должно быть в промежутке между значениями данных в векторе vx.

Пример линейной интерполяции.

i := 0 .. 5 vxi := i

linterp(vx,vy,1.5) = 7.7

Для x, равного 1,5, интерполированное значение y равно 7,7.

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

cspline(vx,vy) Возвращает вектор вторых производных для векторов данных vx и vy. Этот вектор становится первым аргументом в функции interp. Результирующая кривая является отрезками кубоид между парами соседних значений.

pspline(vx,vy) Так же, как и cspline, но результирующая кривая является отрезками парабол между парами соседних значений.

lspline(vx,vy) Так же, как и cspline, но результирующая кривая является отрезками прямых линий между парами соседних значений.

interp(vs,vx,vy,x) Возвращает значение y в точке x, полученное сплайн-интерполяцией.

  • vs является вектором, сгенерированным либо cspline, либо pspline, либо lspline.

  • vx является вектором вещественных данных, расположенных в возрастающем порядке. Они соответствуют значениям x.

  • vy является вектором вещественных данных. Значения его элементов соответствуют значениям y. Число элементов в векторе vy такое же, что и в векторе vx.

  • x является значением независимой переменной, для которой необходимо найти интерполированное значение y. Для получения хороших результатов значение x должно быть в промежутке между значениями данных в векторе vx.

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

i := 0 .. 10 x := 0,.25 .. 10

vxi := i vyi := rnd(1)

vs := cspline(vx,vy)

f(x) := interp(vs,vx.vy,x)

Здесь определена интерполирующая функция f(x), состоящая из отрезков кубоид между соседними точками данных.

1.14. Статистический анализ данных и сортировка

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

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

mean(v) Среднее арифметическое элементов вектора v:

;

stdev(v) Стандартное отклонение элементов вектора v:

.

Чтобы получить несмещенную оценку стандартного отклонения следует умножить функцию stdev(v) на ;

var(v) Дисперсия элементов вектора v:

.

Чтобы получить несмещенную оценку дисперсии следует умножить функцию stdev(v) на ;

corr(v,w) Коэффициент корреляции по Пирсону для векторов v и w:

.

hist(interv,data) Возвращает вектор с элементами, являющимися числами значений вектора data, попадающими между i - м и i + 1 - м значениями вектора interv, элементы которого должны быть расположены в возрастающем порядке.

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

Гамма-функция Эйлера .

z является вещественной или комплексной скалярной величиной, но не может быть 0, -1, -2,...

Для комплексной z (z) является аналитическим расширением вещественной функции.

Нижеследующие соотношения, включающие гамма-функцию, могут оказаться полезными:

(z+1) = z(z),

(z)(1-z) = csc(z)

(n+1) = n!

Функция погрешностей erf(x)

x является вещественной скалярной величиной.

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

cerf(x) := 1 - erf(x)

Нормальная функция распределения:

cnorm(x)

x является вещественной скалярной величиной.

Чтобы получить функцию нормального распределения со средним значением  и стандартным отклонением , рекомендуется включить в создаваемый документ функцию:

Cnorm(x,,) := (cnorm(x - ) / ).

Генерация последовательности случайных чисел:

rnd(x) Возвращает случайное число из равномерно распределенной последовательности на интервале между 0 и x.

x является вещественной скалярной величиной.

Для того, чтобы получить случайные числа с равномерным распределением на интервале между а и b, можно определить функцию:

RND(a,b) := (b - a)rnd(1) + a

Для того, чтобы получить случайные целые числа на интервале между m и n, можно определить:

RND_INT(m,n) := m + floor(rnd(n - m) + 1))

Функция rnd для генерации последовательности случайных чисел использует начальное число 0. Чтобы сгенерировать другую последовательность случайных чисел, следует изменить начальное число с помощью команды меню Math|Randomize.

Чтобы заново начать генерацию последовательности случайных чисел без ее изменения, следует выбрать команду меню Math|Randomize и использовать то же самое начальное число.

Для сортировки векторов (массивов) имеются следующие функции сортировки:

sort(v) возвращает вектор, в котором элементы вектора v расположены в возрастающем порядке;

csort(A,n) возвращает массив, сформированный из строк матрицы A до колонки n, элементы которого расположены в возрастающем порядке;

rsort(A,n) возвращает массив, сформированный из строк матрицы A до строки n, элементы которого расположены в возрастающем порядке;

reverse(v) возвращает вектор, в котором элементы вектора v расположены в убывающем порядке.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]