Важным достоинством системы являются ее открытость и расширяемость. Большинство команд и функций системы реализованы в виде m-файлов текстового формата (с расширением m.)и файлов на языке Си, причем все файлы доступны для модификации. Пользователю дана возможность создать не только отдельные файлы, но и библиотеки файлов для реализации специфических задач. Такие файлы можно готовить как в простом и удобном редакторе m-файлов системы MATLAB, так и в любом другом текстовом редакторе. Более того, такие файлы можно перенести с помощью буфера в командную строку MATLAB и тут же исполнить.
Легкость модификации системы и возможность ее адаптации к решению специфических задач науки и техники привели к созданию десятков пакетов прикладных программ (Toolbox), намного расширивших сферы применения системы.
Новые свойства системе MATLAB придала ее интеграция с программной системой Simulink, созданной для моделирования блочно-заданных динамических систем и устройств. Базируясь на принципах визуально-ориентированного программирования, Simulink, позволяет выполнять моделирование сложных устройств с высокой степенью достоверности и прекрасными средствами представления результатов. Помимо естественной интеграции с пакетами расширения Symbolic Math и Simulink, MATLAB интегрируется с десятками мощных пакетов расширения.
Система MATLAB выполняет сложные и трудоемкие операции над векторами и матрицами даже в режиме прямых вычислений, без какого либо программирования. Ею можно пользоваться как калькулятором, в котором наряду с обычными арифметическими и алгебраическими действиями, могут использоваться такие сложные операции, как инвертирование матрицы, вычисление ее собственных значений и принадлежащих им векторов, решение систем линейных уравнений, вывод графиков двухмерных и трехмерных функций и многое другое.
В базовый набор слов системы входят спецзнаки, знаки арифметических и логических операций, арифметические, алгебраические, тригонометрические и некоторые специальные функции. Словом MATLAB предоставляет пользователям обширный набор готовых средств.
Дополнительный уровень развития системы образуют ее пакеты расширения. Они позволяют быстро ориентировать систему на решение задач в той или иной предметной области: в специальных разделах математики, физики, астрономии, проектировании и.т.д. Благодаря этому MATLAB обеспечивает высочайший уровень адаптации к решению задач конечного пользователя [3,4].
Система MATLAB может решать множество задач без программирования в командном режиме. Однако система изначально создавалась одновременно и как мощный, ориентированный на технические вычисления, язык программирования высокого уровня.
Система MATLAB имеет входной язык. Запись программ в системе традиционна и потому привычна для большинства пользователей компьютеров. К тому же система дает возможность редактировать программы с помощью любого, привычного для пользователя текстового редактора. Имеет она и собственный редактор с отладчиком.
Система MATLAB состоит из многих тысяч файлов, находящихся в множестве папок. Полезно иметь представление о содержании основных папок, поскольку это позволяет быстро оценить возможности системы – например, узнать какие операторы функции или графические команды входят в систему.
Система MATLAB создана таким образом, что любые вычисления можно выполнять в режиме прямых вычислений, то есть без подготовки программы. Можно почти мгновенно задать и вывести графики различных функций – от простой синусоиды до сложной трехмерной фигуры.
В большинстве математических систем вычисление $$ sin(V) $$ или $$ exp(V)$$, где – $$V$$ вектор, сопровождалось бы выдачей ошибки, поскольку функции $$sin$$ и $$exp$$ должны иметь аргумент в виде скалярной величины. Однако MATLAB – матричная система, а вектор является разновидностью матрицы с размером $$l,x,n$$ или $$n \times 1$$. Поэтому в нашем случае результат вычисления будет вектором того же размера, что и аргумент $$V$$, но элементы возвращаемого вектора будут синусами или экспонентами от элементов вектора $$V$$.
Матрица задается в виде векторов, представляющих ее строки и заключенных в квадратные скобки. Для разделения элементов векторов используются пробел или запятая, а для отделения одного вектора от другого – точка с запятой.
Работа с системой в режиме прямых вычислений носит диалоговый характер и происходит по правилу "задал вопрос – получил ответ". Пользователь набирает на клавиатуре вычисляемое выражение, редактирует его в командной строке и завершает ввод нажатием клавиши ENTER.
В качестве примера рассмотрим простейшие вычисления:
Даже из таких простых примеров можно сделать некоторые выводы:
ans;cos) записывается строчными буквами и их аргументы указываются в круглых скобках cos(х);Интерполяция и аппроксимация данных.
Под аппроксимацией подразумеваются описание некоторой, порой не заданной явно, зависимости или совокупности представляющих данных с помощью другой, обычно более простой или более единообразной зависимости. Данные могут быть заданны как координаты узловых точек занесенные в таблицу. График аппроксимации функции может не проходить через узловые точки, но приближать их с некоторой среднеквадратичной погрешностью. Это характерно для регрессии – реализации метода наименьших квадратов (МНК).
Основная задача интерполяции – оценить значение представляемой данными зависимости в промежутках между ее узловыми точками. Для этого используются подходящие функции, значения которых в узловых точках совпадают с координатами этих точек. Так при линейной интерполяции зависимости у(х) узловые точки просто соединяются друг с другом отрезками прямых и считается, что искомые промежуточные точки расположены на этих отрезках.
Полиноминальная регрессия
Наиболее известная аппроксимация – полиномиальная. В MATLAB функции аппроксимации определены полиномами по методу наименьших квадратов – полиномиальной регрессии.
Полиномиальную регрессию реализует функция:
polyfit(x,y,n) – возвращает вектор коэффициентов полинома p(x) степени n, который с наименьшей погрешностью аппроксимирует функцию y(x) . [p,S] = polyfit(x,y,n) – возвращает коэффициенты полинома p и структуру S для использования вместе с функцией polyfval с целью оценивания или предсказания погрешности. [p,S] = polyfit(x,y,n,mu) – возвращает коэффициенты полинома p и структуру S для использования вместе с функцией polyfval с целью оценивания или предсказания погрешности, но так, что происходит центрирование и масштабирование x, xnorm=(x-mu(1))/mu(2) , где mu(1)=mean(x) и mu(2)=std(x) . Центрирование и масштабирование не только улучшают свойства степенного многочлена, получаемого при помощи polyval, но и значительно повышают качественные характеристики алгоритма аппроксимации.Пример полиномиальной регрессии для функции cos(x) :
>>x=(-3:0.2:3)'; y=cos(x); p=polyfit(x,y,3) p = 0.0000 -0.2370 0.0000 0.7719 >> x=(-4:0.2:4)'; y=cos(x); >> f=polyval(p,x); >> plot(x,y,'o',x,f)
(рис 5.1)
Рисунок 5.1. дает наглядное представление о точности полиномиальной аппроксимации. Исходные точки обозначены кружочками, в данном примере, рассматривается полином 3 степени, он обозначен сплошной линией.
Фурье – интерполяция периодических функций.
Под интерполяцией обычно подразумевают вычисления значений таблично заданной функции $$f(x_i)$$ в промежутках между узловыми точками $$x_i$$. Для периодических функций используется интерполяция тригонометрическим рядом Фурье. В системе MATLAB используется следующая функция [3,4]:
interpft(x,n) - возвращает вектор y, содержащий значения периодической функции, определенные n равномерно расположенных точках. Если length(x)=m и x имеет интервал dx, то интервал дискретизации для y составляет dy=dx*m/n, причем n не может быть меньше чем m. Если X – матрица, interpft оперирует столбцами X, возвращая матрицу Y с таким же числом столбцов, как и у X, но с n строками. Функция y=interpft(x,n,dim) работает или со столбцами или строками в зависимости от параметра dim.
Пример
(рис 5.2)
На рисунке 5.2 иллюстрируется эффективность данного вида интерполяции на примере функции $$cos(x).^3$$. Исходная функция представлена сплошной линией с кружками, а интерполирующая – сплошной линией.
Решение большинства задач по интерполяции или аппроксимации сопровождаются графиками. Желательно прямо на графики нанесение формул полученных при аппроксимации. Это выполняется прямо в окне редактора Property Editor. для этого в позиции TOOLS графического окна имеются команды:
Basic Fitting – открывает окно дающее доступ к основным видам аппроксимацииData Statistics – открывает окно с результатами простейшей статической обработки данных.И выглядит это следующим образом на рисунке 5.3. показан пример выполнения полиномиальной регрессии для линейной, квадратичной, кубической регрессии и для полинома 4 и 5 степени.
(рис 5.3)
Краткие итоги
Рассмотрена система MATLAB — автоматизации математических расчетов, построенная на расширенном представлении и применении матричных операций.
Рассмотрены основные приемы работы в этой системе. Изучены функции интерполяция и аппроксимация данных, полиноминальная регрессия, Фурье – интерполяция периодических функций. Решение большинства задач по интерполяции или аппроксимации сопровождаются графиками.
Вопросы для самопроверки
interpft(x,n)?Важным достоинством системы являются ее открытость и расширяемость. Большинство команд и функций системы реализованы в виде m-файлов текстового формата (с расширением m.)и файлов на языке Си, причем все файлы доступны для модификации. Пользователю дана возможность создать не только отдельные файлы, но и библиотеки файлов для реализации специфических задач. Такие файлы можно готовить как в простом и удобном редакторе m-файлов системы MATLAB, так и в любом другом текстовом редакторе. Более того, такие файлы можно перенести с помощью буфера в командную строку MATLAB и тут же исполнить.
Легкость модификации системы и возможность ее адаптации к решению специфических задач науки и техники привели к созданию десятков пакетов прикладных программ (Toolbox), намного расширивших сферы применения системы.
Новые свойства системе MATLAB придала ее интеграция с программной системой Simulink, созданной для моделирования блочно-заданных динамических систем и устройств. Базируясь на принципах визуально-ориентированного программирования, Simulink, позволяет выполнять моделирование сложных устройств с высокой степенью достоверности и прекрасными средствами представления результатов. Помимо естественной интеграции с пакетами расширения Symbolic Math и Simulink, MATLAB интегрируется с десятками мощных пакетов расширения.
Система MATLAB выполняет сложные и трудоемкие операции над векторами и матрицами даже в режиме прямых вычислений, без какого либо программирования. Ею можно пользоваться как калькулятором, в котором наряду с обычными арифметическими и алгебраическими действиями, могут использоваться такие сложные операции, как инвертирование матрицы, вычисление ее собственных значений и принадлежащих им векторов, решение систем линейных уравнений, вывод графиков двухмерных и трехмерных функций и многое другое.
В базовый набор слов системы входят спецзнаки, знаки арифметических и логических операций, арифметические, алгебраические, тригонометрические и некоторые специальные функции. Словом MATLAB предоставляет пользователям обширный набор готовых средств.
Дополнительный уровень развития системы образуют ее пакеты расширения. Они позволяют быстро ориентировать систему на решение задач в той или иной предметной области: в специальных разделах математики, физики, астрономии, проектировании и.т.д. Благодаря этому MATLAB обеспечивает высочайший уровень адаптации к решению задач конечного пользователя [3,4].
Система MATLAB может решать множество задач без программирования в командном режиме. Однако система изначально создавалась одновременно и как мощный, ориентированный на технические вычисления, язык программирования высокого уровня.
Система MATLAB имеет входной язык. Запись программ в системе традиционна и потому привычна для большинства пользователей компьютеров. К тому же система дает возможность редактировать программы с помощью любого, привычного для пользователя текстового редактора. Имеет она и собственный редактор с отладчиком.
Система MATLAB состоит из многих тысяч файлов, находящихся в множестве папок. Полезно иметь представление о содержании основных папок, поскольку это позволяет быстро оценить возможности системы – например, узнать какие операторы функции или графические команды входят в систему.
Система MATLAB создана таким образом, что любые вычисления можно выполнять в режиме прямых вычислений, то есть без подготовки программы. Можно почти мгновенно задать и вывести графики различных функций – от простой синусоиды до сложной трехмерной фигуры.
В большинстве математических систем вычисление $$ sin(V) $$ или $$ exp(V)$$, где – $$V$$ вектор, сопровождалось бы выдачей ошибки, поскольку функции $$sin$$ и $$exp$$ должны иметь аргумент в виде скалярной величины. Однако MATLAB – матричная система, а вектор является разновидностью матрицы с размером $$l,x,n$$ или $$n \times 1$$. Поэтому в нашем случае результат вычисления будет вектором того же размера, что и аргумент $$V$$, но элементы возвращаемого вектора будут синусами или экспонентами от элементов вектора $$V$$.
Матрица задается в виде векторов, представляющих ее строки и заключенных в квадратные скобки. Для разделения элементов векторов используются пробел или запятая, а для отделения одного вектора от другого – точка с запятой.
Работа с системой в режиме прямых вычислений носит диалоговый характер и происходит по правилу "задал вопрос – получил ответ". Пользователь набирает на клавиатуре вычисляемое выражение, редактирует его в командной строке и завершает ввод нажатием клавиши ENTER.
В качестве примера рассмотрим простейшие вычисления:
Даже из таких простых примеров можно сделать некоторые выводы:
ans;cos) записывается строчными буквами и их аргументы указываются в круглых скобках cos(х);Интерполяция и аппроксимация данных.
Под аппроксимацией подразумеваются описание некоторой, порой не заданной явно, зависимости или совокупности представляющих данных с помощью другой, обычно более простой или более единообразной зависимости. Данные могут быть заданны как координаты узловых точек занесенные в таблицу. График аппроксимации функции может не проходить через узловые точки, но приближать их с некоторой среднеквадратичной погрешностью. Это характерно для регрессии – реализации метода наименьших квадратов (МНК).
Основная задача интерполяции – оценить значение представляемой данными зависимости в промежутках между ее узловыми точками. Для этого используются подходящие функции, значения которых в узловых точках совпадают с координатами этих точек. Так при линейной интерполяции зависимости у(х) узловые точки просто соединяются друг с другом отрезками прямых и считается, что искомые промежуточные точки расположены на этих отрезках.
Полиноминальная регрессия
Наиболее известная аппроксимация – полиномиальная. В MATLAB функции аппроксимации определены полиномами по методу наименьших квадратов – полиномиальной регрессии.
Полиномиальную регрессию реализует функция:
polyfit(x,y,n) – возвращает вектор коэффициентов полинома p(x) степени n, который с наименьшей погрешностью аппроксимирует функцию y(x) . [p,S] = polyfit(x,y,n) – возвращает коэффициенты полинома p и структуру S для использования вместе с функцией polyfval с целью оценивания или предсказания погрешности. [p,S] = polyfit(x,y,n,mu) – возвращает коэффициенты полинома p и структуру S для использования вместе с функцией polyfval с целью оценивания или предсказания погрешности, но так, что происходит центрирование и масштабирование x, xnorm=(x-mu(1))/mu(2) , где mu(1)=mean(x) и mu(2)=std(x) . Центрирование и масштабирование не только улучшают свойства степенного многочлена, получаемого при помощи polyval, но и значительно повышают качественные характеристики алгоритма аппроксимации.Пример полиномиальной регрессии для функции cos(x) :
>>x=(-3:0.2:3)'; y=cos(x); p=polyfit(x,y,3) p = 0.0000 -0.2370 0.0000 0.7719 >> x=(-4:0.2:4)'; y=cos(x); >> f=polyval(p,x); >> plot(x,y,'o',x,f)
(рис 5.1)
Рисунок 5.1. дает наглядное представление о точности полиномиальной аппроксимации. Исходные точки обозначены кружочками, в данном примере, рассматривается полином 3 степени, он обозначен сплошной линией.
Фурье – интерполяция периодических функций.
Под интерполяцией обычно подразумевают вычисления значений таблично заданной функции $$f(x_i)$$ в промежутках между узловыми точками $$x_i$$. Для периодических функций используется интерполяция тригонометрическим рядом Фурье. В системе MATLAB используется следующая функция [3,4]:
interpft(x,n) - возвращает вектор y, содержащий значения периодической функции, определенные n равномерно расположенных точках. Если length(x)=m и x имеет интервал dx, то интервал дискретизации для y составляет dy=dx*m/n, причем n не может быть меньше чем m. Если X – матрица, interpft оперирует столбцами X, возвращая матрицу Y с таким же числом столбцов, как и у X, но с n строками. Функция y=interpft(x,n,dim) работает или со столбцами или строками в зависимости от параметра dim.
Пример
(рис 5.2)
На рисунке 5.2 иллюстрируется эффективность данного вида интерполяции на примере функции $$cos(x).^3$$. Исходная функция представлена сплошной линией с кружками, а интерполирующая – сплошной линией.
Решение большинства задач по интерполяции или аппроксимации сопровождаются графиками. Желательно прямо на графики нанесение формул полученных при аппроксимации. Это выполняется прямо в окне редактора Property Editor. для этого в позиции TOOLS графического окна имеются команды:
Basic Fitting – открывает окно дающее доступ к основным видам аппроксимацииData Statistics – открывает окно с результатами простейшей статической обработки данных.И выглядит это следующим образом на рисунке 5.3. показан пример выполнения полиномиальной регрессии для линейной, квадратичной, кубической регрессии и для полинома 4 и 5 степени.
(рис 5.3)
Краткие итоги
Рассмотрена система MATLAB — автоматизации математических расчетов, построенная на расширенном представлении и применении матричных операций.
Рассмотрены основные приемы работы в этой системе. Изучены функции интерполяция и аппроксимация данных, полиноминальная регрессия, Фурье – интерполяция периодических функций. Решение большинства задач по интерполяции или аппроксимации сопровождаются графиками.
Вопросы для самопроверки
interpft(x,n)?Для получения официальных документов о завершении программы дополнительного профессионального образования (удостоверения о повышении квалификации, дипломов о профессиональной переподготовке и MBA) необходимо предоставить:
Внимание! Вы можете не заказывать доставку бумажной версии официального документы, а скачать его в электронном виде и распечатать самостоятельно. Информация о выданном документе в течение 1 месяца загружается в Федеральную информационную систему «Федеральный реестр сведений о документах об образовании и (или) о квалификации, документах об обучении» - ФИС ФРДО.
Доступ на новый сайт осуществляется с использованием адреса электронной почты, который был указан вами при регистрации на "старом". Мы постарались перенести все ваши данные с прежнего ресурса, однако не исключена вероятность потери части информации.
При возникновении проблемы со входом, воспользуйтесь функцией сброса пароля
Если вы обнаружите несоответствия, пожалуйста, сообщите нам.