Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Методички / TROPA V MATLAB_21.doc
Скачиваний:
154
Добавлен:
17.09.2018
Размер:
2.47 Mб
Скачать

6.8 Интерполяция двумерных и многомерных данных

Интерполяция двумерных данных связана с построением функции двух переменных, приближающей заданные в точках (xi;yi) значения zi. Для интерполирования двумерных данных следует задать промежуточные узлы командой meshgrid и воспользоваться interp2, которая реализует один из способов интерполирования в зависимости от значения последнего аргумента: nearest – интерполяция по соседним аргументам; bilinear – билинейная интерполяция; bicubic – интерполяция бикубическими сплайнами.

Ниже приведен текст файл-программы для сравнения различных способов интерполирования, выполнение которой приводит к появлению графиков, изображенных на рис. 6. 8.

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

>> [X,Y]=meshgrid(0:0.2:1);

>> Z=sin(2*pi*X).*sin(2*pi*Y);

>> subplot(2,2,1)

>> surf(X,Y,Z)

>> [Xi,Yi]=meshgrid(0:0.02:1);

>> Z1=interp2(X,Y,Z,Xi,Yi,'nearest');

>> Z2=interp2(X,Y,Z,Xi,Yi,'bilinear');

>> Z3=interp2(X,Y,Z,Xi,Yi,'bicubic');

>> subplot(2,2,2)

>> surf(Xi,Yi,Z1)

>> subplot(2,2,3)

>> surf(Xi,Yi,Z2)

>> subplot(2,2,4)

>>surf(Xi,Yi,Z3)

Рис. 6.8

Для интерполирования трехмерных данных служит команда interp3, для многомерных – interpn. Многомерное интерполирование производится аналогично двумерному, подробнее о нем можно узнать из справочной системы MATLAB с помощью команды doc interpn. Интерполированию посвящен пакет Spline ToolBox.

Вопросы для самопроверки

1. Как осуществляется ввод полиномов в MATLAB

2. Какие команды осуществляют умножение, деление полиномов

3. Какая команда вычисляет корни полинома

4. Какая команда осуществляет построение полинома по заданному вектору его корней

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

6. Каким образом можно задать первый входной аргумент команд fzero и fsolve

7. Какая команда MATLAB находит минимум функции одной переменной

8. Какая команда MATLAB находит минимум функции нескольких переменных

9. Какие команды вычисляют значения определенных интегралов

10. Какие команды (солверы) возвращают численные решения обыкновенных дифференциальных уравнений

11. Какие команды осуществляют полиномиальную аппроксимацию данных

12. С помощью каких команд выполняется интерполяция данных

Глава 7 символьные вычисления

В предыдущих главах рассматривались численные процедуры MATLAB, выполняемые с аргументами, заданными в виде чисел или числовых массивов. В состав MATLAB входит пакет Symbolic Math ToolBox, который добавил к системе возможность символьных вычислений. Помимо типовых аналитических вычислений (таких, как упрощение математических выражений, подстановка, нахождение пределов, дифференцирование, интегрирование, интегральные преобразования, получение решений уравнений и систем уравнений, включая дифференциальные и т. д.), пакет Symbolic позволяет реализовывать арифметические операции с любой точностью. Функции пакета Symbolic реализуют интерфейс между средой MATLAB и ядром Maple системы аналитических вычислений или системы компьютерной алгебры канадского университета Waterloo, причем работа в MATLAB не требует установки Maple. Система Maple в своем ядре и в расширениях имеет около 3000 функций. Система MATLAB с пакетом Symbolic, включающим в себя около сотни символьных команд и функций, намного уступает Maple по их количеству. Однако пользователь, имеющий опыт работы в Maple, может напрямую обращаться ко всем командам и процедурам этой системы (кроме графических), написанным на встроенном языке Maple (см. раздел 7.17). Способы получения справочной информации по пакету Symbolic рассмотрены в приложении 1.

Соседние файлы в папке Методички