| Деструктор
Точечные изображения как объекты
Геометрическая оптика Фотоэлектрический
эффект
Ядерные реакции Волновые свойства
Квантовая механика Электромагнитное
поле
Задачник по ядерной физике Квантовая
физика Электростатика
Математика MATLAB Компьютерная математика Maple
Лекции по математике учебник
Outlook На главную Числовые
ряды |
Компьютерная математика Mathematica
Интерполяция,
аппроксимация и регрессия
Нередко исходные данные при решении математических задач представлены рядом точек произвольной зависимости вида у(х). Сама по себе эта зависимость может быть неизвестной. Для вычисления промежуточных значений функции используется аппарат интерполяции. При нем истинная функция заменяется аппроксимирующей функцией, которая в узловых точках дает точные значения ординат и позволяет вычислить значения интерполируемой функции в промежуточных точках.
Полиномиальная интерполяция и аппроксимация
Для решения задач интерполяции и аппроксимации функций, заданных рядом узловых точек, в Mathematica используются следующие функции:
Формирование векторов и матриц
Особенности задания векторов и матриц
Описанные выше простые правила вычислений распространяются и на гораздо более
сложные вычисления, которые (при использовании обычных языков программирования
типа Бейсик или Паскаль) требуют составления специальных программ. MATLAB —
система, специально предназначенная для проведения сложных вычислений с векторами,
матрицами и массивами. При этом она по умолчанию предполагает, что каждая заданная
переменная — это вектор, матрица или массив. Все определяется конкретным значением
переменной. Например, если задано Х=1, то это значит, что X —это вектор с единственным
элементом, имеющим значение 1. Если надо задать вектор из трех элементов, то
их значения следует перечислить в квадратных скобках, разделяя пробелами. Так,
например, присваивавание
» V=[l 2 3]
V=
1 2 3
задает вектор V, имеющий три элемента со значениями 1, 2 и 3. После ввода вектора
система выводит его на экран дисплея.
Задание матрицы требует указания нескольких строк. Для разграничения строк используется
знак ; (точка с запятой). Этот же знак в конце ввода предотвращает вывод матрицы
или вектора (и вообще результата любой операции) на экран дисплея. Так, ввод
» М=[1 2 3: 4 5 6;
7 8 9];
задает квадратную матрицу, которую можно вывести:
» M
M =
1 2 3
4 5 6
7 8 9
Возможен ввод элементов матриц и векторов в виде арифметических выражений, содержащих
любые доступные системе функции, например:
» V= [2+2/(3+4) exp(5)
sqrt(l0)]:
» V
V =
2.2857 148.4132 3.1623
Для указания отдельного элемента вектора или матрицы используются выражения
вида V(1) или M(i. j). Например, если задать
» М(2. 2)
arts= 5
то результат будет равен 5. Если нужно присвоить элементу M(i. j) [ В тексте
программ MATLAB лучше не использовать i и j как индексы, так как i и j — обозначение
квадратного корня из -1. Но можно использовать I и J. — Примеч. ред. ]
новое значение х, следует использовать выражение
M(ij)=x
Например, если элементу М(2, 2) надо присвоить значение 10, следует записать
» М(2. 2)=10
Выражение М( i) с одним индексом дает доступ к элементам матрицы, развернутым
в один столбец. Такая матрица образуется из исходной, если подряд выписать ее
столбцы.
Следующий пример поясняет такой доступ к элементам матрицы М:
» М=[1 2 3: 4 5 6:
7 8 9]
М =
1 2 3
4 5 6
7 8 9
» М(2)
ans =
4
» M(8)
ans =
6
» M(9)
ans =
9
» М(5)=100;
» М
М =
1 2 3
4 100 6
7 8 9
Возможно задание векторов и матриц с комплексными элементами, например:
» i=sqrt(-l):
» СМ =[1 2: 3 4] + i*[5 6: 7 8]
или
» СМ - [1+5*1 2+6*1: 3+7*1 4+8*1]
Это создает матрицу:
CM=
1.0000 + 5.00001 2.0000 + 6.00001
3.0000 + 7.00001 4.0000 + 8.00001
Наряду с операциями над отдельными элементами матриц и векторов система позволяет
производить операции умножения, деления и возведения в степень сразу над всеми
элементами, т. е. над массивами. Для этого перед знаком операции ставится точка.
Например, оператор * означает умножение для векторов или матриц, а оператор
.* —поэлементное умножение всех элементов массива. Так, если М — матрица, то
М.*2 даст матрицу, все элементы которой умножены на скаляр — число 2. Впрочем,
для умножения матрицы,на скаляр оба выражения — М*2 и М.*2 — оказываются эквивалентными.
Имеется также ряд особых функций для задания векторов и матриц. Например, функция
magic(n) задает магическую матрицу размера пхп, у которой сумма всех
столбцов, всех строк и даже диагоналей равна одному и тому же числу:
» M=magic(4)
М =
|
|
|||||
|
|
16 |
2 |
3 |
13 |
|
|
|
5 |
11 |
10 |
8 |
|
|
|
9 |
7 |
6 |
12 |
|
|
|
4 |
14 |
15 |
1 |
|
» sum(M)
ans=
34 34 34
34
» sum(M')
ans=
34 34 34
34
» sum(diag(M))
ans=
34
» M(1.2)+M(2.2)+M(3.2)+M(4.2)
ans= 34
Уже сама по себе возможность создания такой матрицы с помощью простой функции magic заинтересует любителей математики. Но векторных и матричных функций в системе множество, и мы их детально рассмотрим в дальнейшем. Напомним, что для стирания переменных из рабочей области памяти служит команда clear.
| Объектно-ориентированный подход CorelDRAW Установка параметров цвета в цифровом виде Искусство Западная Европа Трехмерное объектно-ориентированное программное обеспечение CAD Эффект Комптона Волновые свойства электронов Геометрическая оптика Фотоэлектрический эффект Строение атомных ядер Волновые свойства микрочастиц Математические пакеты Моделирование и расчет электронных схем Конструкционные материалы Релятивистская механика Справочник по физикеПрикладная математика Архитектурное проектирование ArchiCAD Строительное и ландшафтного проектирования Planix Home 3D Architect Функции преобразования Сайт МаксСтайл.ру - создать официальный сайт найти свежие статьи; |