This version of the page http://mycomp.com.ua/text/12026 (0.0.0.0) stored by archive.org.ua. It represents a snapshot of the page as of 2007-12-15. The original page over time could change.
МОЙ КОМПЬЮТЕР Weekly
   ИД "Мой компьютер"   "Игроград"   "Реальность фантастики"   Ассамблея "Портал"
Сделать стартовой   

 




 

N 16 (447)








  Новости:

 
МК
Украина
Игры
Интернет
Железо
Софт
Пресс-релизы

  Статьи:

 
Уголок читателя
Прочее
Имеющий уши
Программирование
Интернет
Железо
Софт
Игры


 
КОНКУРСЫ



Правила конкурсов

Конкурс "АВЧ"

Рейтинг победителей


ОПРОС

Вы посещаете нас:
первый раз
1-2 раза в месяц
1-2 раза в неделю
1-2 раза в день
более 2-х раз в день Что привело Вас к нам?
поиск информации
интерес к статьям
интерес к новостям
любопытство
реклама
другое























Карта Киева
автосалоны
автомобили
автосигнализации
автомагнитолы
шины





 

статьи
Софт



 

На правах рекламы  
Прочее  
Свободная ВаRя  
Не windows  
Windows  
Графика  
Развлечения  
Интернет  
Утилиты  
Офис  




    Графика


Матлаборатория-3

Александр СОЛОВЕЙ
N 4 (435) 20.01.2007


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

Графики функций с несколькими неизвестными

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

Приведем пример создания графика функции z=x3/2+xy+y3/2:

Результат вы можете увидеть на рисунке ( рис. 1).

Каркасные поверхности создаются командой surf, по синтаксису схожей с mesh ( рис. 2):

Задать выводимое полотно можно командой shading. Так, при shading flat поверхность состоит из квадратиков цвета, а shading interp — из переливающейся радуги (как на рисунке).

Команды surfc, meshc дополнительно к построению отображают проекции изгибов фигуры.

Обширны возможности MatLAB и по созданию контурных графиков. Задав массив levels с определенными уровнями, можно создавать контурные графики командами contour, contourf (двухмерные графики поверхностей), contour3 (3D-график).

Создание функций в MatLAB

Каждая функция MatLAB (как штатная, так и создаваемая пользователем) хранится в одноименном файле с расширением .m. Создать файл достаточно просто: File > New > M–File откроет редактор M–файлов. Начинается функция со слова function, после чего следует имя результата (или множество, заключенное в квадратные скобки, если результатов несколько) и список передаваемых параметров. Операторных скобок в MatLAB нет (по крайней мере, я не встречал). Конец блока, как и конец функции, обозначается словом end.

Пример функции, вычисляющей корни квадратного выражения:

Поместим этот текст в файл qsolve.m.

Теперь, вызвав функцию [ans1, ans2] = qsolve(1,4,1), мы получим корни квадратного уравнения x2+4x+1=0.

Работа с полиномами

Прежде чем описывать работу с полиномами, расскажу о замечательной функции pretty, которая позволяет выводить любые выражения в более дружественном для человека формате — так, например, (x^3)/a+x^2+x отобразится почти такой, как напечатана в учебнике, разве что шрифтом одного размера ( рис. 3).

Все операции над символическими переменными и функциями должны быть описаны словами sym и syms соответственно, рассмотрим на примере:

В данном примере использовалась функция simple — она упрощает полином, перебирая всевозможные методы. Остальные, наиболее используемые методы смотрите в таблице 1.

Нахождение пределов, интегралов и производных

MatLAB предоставляет потрясающие возможности для настоящих «маньяков математики» по части математического анализа. Все они неплохо документированы, я же расскажу об основных, особенно полезных большинству учащихся и студентов.

Функция limit определяет предел функции. Второй и третий аргумент могут указывать, какая переменная и куда стремиться, четвертый же, представленный строковыми константами left и right, позволяет определить поиск предела слева или справа.

Для примера найдем предел функции sin(x)/x, где  x стремится к нолю.

Если предел стремится к бесконечности, указывается служебное слово inf.

Нахождение производных осуществляется функцией diff.

При необходимости найти вторую, третью, n-ую производную — номер указывается вторым аргументом функции.

Ну и наконец, интегралы находятся функцией int. При необходимости найти определенный интеграл пределы указываются третьим и четвертым аргументом. Вторую же позицию занимает переменная интегрирования:

Когда будете решать — не забывайте дописывать свободный член (+C), MatLAB его не ставит.

Рассмотрим более сложный пример: двойной интеграл ( рис. 4).

Решение дифференциальных уравнений

Для аналитического решения дифференциальных уравнений распространена всего одна, но очень мощная в этом плане функция — dsolve. Она может принимать неограниченное число аргументов с указанием уравнений. Производные функций задаются в уравнении как DNy, где  — порядок производной. По определенным причинам неизвестные в алгоритме функции называются не  x, а  t — на это следует обратить внимание.

Для примера: y’’-2y’=2e^x; y(1)=-1; y’(1)=0

Итоги

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







Расширенный поиск 
 

О проекте  Рекламодателям  Карта сайта  Контакт  Обратная связь 

© ИД "Мой компьютер"®, 1998-2004