Практикум MatLAB. Математическая лаборатория на ПК

Мой Компьютер, №04 (435), 15.01.2007

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

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

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

>> [X, Y] = meshgrid(0:0.1:1,0:0.1:1); %сетка от 0 до 1 с шагом 0.11

>> Z = X.^1.5 + X*Y + Y.^1.5;

>> mesh(X,Y,Z)

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

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

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

>> Z = 20 * cos(pi*X).* sin(pi*Y).* (1-X.*Y);

>> surf(X,Y,Z)

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

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

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

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

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

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

function [a1, a2] = root2(a,b,c)

if (b*b-4*a*c < 0)

 warning(‘результат комплексный’)

else

a1 = (-b — sqrt(b*b-4*a*c)) / (2*a);

a2 = (-b + sqrt(b*b-4*a*c)) / (2*a);

end

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

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

ans1 =

 -3.7321

ans2 =

 -0.2679

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

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

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

>> syms a

>> y = sym(‘(x-a)*(x^2+x*a+a^2)’)

>> simple(y)

ans =

x^3-a^3

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

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

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

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

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

>> limit(‘sin(x)/x’,x,0)

ans =

1

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

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

>> diff(‘y^2+y+a’)

 ans =

2*y+1

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

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

>> int(‘x^2’,x)

ans =

1/3*x^3

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

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

>> syms a b p q x y     %символьные переменные

>> f=sym(‘x^2/(2*p) + y^2/(2*q)’);

>> ix = int(f,x,0,a); %нахождение по x

>> iy = int(ix,y,0,b) %нахождение по y

iy =

1/6/p*a^3*b+1/6/q*a*b^3

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

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

Для примера:

y’’-2y’=2e^x; y(1)=-1; y’(1)=0

>> dsolve(‘D2y-2*Dy = 2*exp(t)’,’y(1)=-1′,’Dy(1)=0′)

ans =

-2*exp(t)+exp(2*t)*exp(1)/exp(2)+exp(1)-1

Итоги

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

 

Александр СОЛОВЕЙ

Avatar photo
Robo User
Web-droid редактор

Не пропустите интересное!

Підписывайтесь на наши каналы и читайте анонсы хай-тек новостей, тестов и обзоров в удобном формате!

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

Читайте також Read more




Статьи & тестыArticles

Обзор смартфона Oppo A6 Pro: амбициозный Oppo A6 Pro (CPH2799)

Новый смартфон Oppo A6 Pro — телефон среднего уровня с функциональностью смартфонов премиум-класса. Производитель наделил его множеством характеристик, присущих более дорогим телефонам. Но не обошлось и без компромиссов. Как именно сбалансирован Oppo A6 Pro – расскажем в обзоре.


Лучшие Bluetooth колонки. Подборка моделей в разных ценовых сегментах Sony SRS-XP500

Портативная колонка давно перестала быть просто аксессуаром для смартфона или ноутбука. Она стала инструментом для создания атмосферы – от камерной встречи до масштабной вечеринки.


НовостиNews
| 15.28
Аналитики констатировали феерический провал продаж электропикапа Tesla Cybertruck   
Tesla Cybertruck

Прошло два года с момента начала продаж футуристического пикапа Tesla Cybertruck, который Илон Маск активно позиционировал как новый взгляд на американский рабочий автомобиль.

| 09.34
Shoei GT-Air 3 Smart – первый мотошлем с дополненной реальностью  
Shoei GT-Air 3 Smart

Японская компания Shoei представила первый в мире мотоциклетный шлем с полностью интегрированной системой дополненной реальности