Средства Matlab для выполнения работы
Поможем в ✍️ написании учебной работы
Поможем с курсовой, контрольной, дипломной, рефератом, отчетом по практике, научно-исследовательской и любой другой работой

 

1.2.5.1. Выполнение символьных операций

 

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

syms x 1 x 2 … создает группу символьных объектов.

syms x 1 x 2 … real и syms x 1 x 2 … unreal создают группы символьных объектов с вещественными (real) и не вещественными (unreal) значениями. Последнюю функцию можно использовать для отмены задания вещественных объектов. Отметим, что символьные переменные здесь разделяются пробелами.

Для получения разложений аналитических функций в ряд Тейлора (1.1) служит функция taylor.

taylor ( f ) – возвращает 6 членов ряда Маклорена.

taylor ( f , n ) – возвращает члены ряда Маклорена до (n-1)-го порядка.

taylor ( f , a ) – возвращает 6 членов ряда Тейлора в окрестности точки a.

taylor ( f , a , n ) – возвращает члены ряда Тейлора до (n-1)-го порядка в окрестности точки a.

Пример 1.7. В результате выполнения программы

clc

clear

syms x t

y1=taylor(exp(-x))

y2=taylor(log(x),6,1)

y3=taylor(sin(x),pi/2,6)

y4=taylor(x^t,3,t)

будет получен следующий результат:

y1 =

1-x+1/2*x^2-1/6*x^3+1/24*x^4-1/120*x^5

y2 =

x-1-1/2*(x-1)^2+1/3*(x-1)^3-1/4*(x-1)^4+1/5*(x-1)^5

y3 =

1-1/2*(x-1/2*pi)^2+1/24*(x-1/2*pi)^4

y4 =

1+log(x)*t+1/2*log(x)^2*t^2

Для вычисления в символьном виде производных от выражения s служит функция diff.

diff ( s ) – возвращает символьное значение первой производной от символьного выражения или массива символьных выражений s по независимой переменной, определенной функцией findsym.

diff ( s , n ) – возвращает символьное значение n-й производной от символьного выражения или массива символьных выражений s по независимой переменной, определенной функцией findsym.

diff ( s ,' v ') или diff ( s , sym (' v ')) – возвращает символьное значение первой производной от символьного выражения или массива символьных выражений s по переменной v.

diff ( s ,' v ', n ) или diff ( s , n ,' v ') – возвращает символьное значение n-й производной от символьного выражения или массива символьных выражений s по переменной v.

Пример 1.8. Программа

clc

clear

syms x t

y1=diff(sin(x^2))

y2=diff(t^6,6)

возвращает следующие результаты:

y1 =

2*cos(x^2)*x

y2 =

720

 

1.2.5.2. Построение графиков функций одной переменной

 

Для построения графиков функций одной переменной  в Matlab имеется функция plot . График строится в декартовой системе координат по заданным массивам значений аргумента и функции. Заданные этими массивами точки соединяются прямыми линиями. Имеется возможность изменять тип и цвет линии и тип узловых точек (маркер). Вызов этой функции осуществляется командой

plot ( x , y , s )

где x , y – одномерные массивы одинаковой размерности; x – массив значений аргумента функции ; y – массив значений функции ; s – строковая константа, определяющая цвет линии, маркер узловых точек и тип линии. Эта константа может содержать от одного до трех символов.

Цвет линии определяется символами y (желтый), m (фиолетовый), c (голубой), r (красный), g (зеленый), b (синий), w (белый), k (черный).

Тип узловой точки определяется символами . (точка), o (окружность), x (крестик), + (плюс), * (звездочка), s (квадрат), d (ромб), < > ^ (треугольники различной направленности), p (пятиугольник), h (шестиугольник).

Тип линии определяется символами - (непрерывная), : (короткие штрихи), -. (штрих-пунктир), -- (длинные штрихи).

Символьную константу s можно опустить. В этом случае по умолчанию используется непрерывная линия желтого цвета.

Для построения в одном окне нескольких графиков можно использовать команду

plot(x1,y1,s1,x2,y2,s2,x3,y3,s3,…)

Пример

clc

clear

% графики функций sin x, cos x

x=0:0.1:2*pi;

y1=sin(x);

y2=cos(x);

plot(x,y1,'k-o',x,y2,'r--*')

grid on

В результате выполнения этой программы на экран монитора будет выведено графическое окно с графиками, представленными на рисунке 1.1. Графики представлены в черно-белой палитре, хотя в действительности график функции cos(x) выводится красным цветом.

Команда grid on добавляет на график сетку.

Рис. 1.1. Графики, выполненные с помощью программы plot

 

Созданный график можно скопировать в буфер Clipboard, активизировав в пункте Edit главного меню окна графики команду Copy Figure, с целью его дальнейшего редактирования в каком-либо графическом редакторе, например Paint.

 

1.2.5.3. Построение графиков функций двух переменных

 

Трехмерные поверхности обычно описываются функцией двух переменных . Специфика построения трехмерных графиков в Matlab требует не просто задания ряда значений x и y, то есть векторов x и y, а определения двухмерных массивов X и Y. Для создания таких массивов служит функция meshgrid .

[ X , Y ]= meshgrid ( x , y ) – преобразует область, заданную векторами x и y, в двухмерные массивы X и Y, которые могут быть использованы для вычисления значений функции двух переменных и построения трехмерных графиков. Эта функция формирует массивы X и Y таким образом, что строки выходного массива X являются копиями вектора x, а столбцы выходного массива Y – копиями вектора y.

Пример

clc

clear

[X,Y]=meshgrid(1:1:4,6:1:9)

X =

     1 2 3 4

     1 2 3 4

     1 2 3 4

     1 2 3 4

Y =

     6 6 6 6

     7 7 7 7

     8 8 8 8

     9 9 9 9

В этом примере формируются массивы X и Y для построения трехмерной поверхности при изменении x от 1 до 4 с шагом 1 и y от 6 до 9 с шагом 1.

Командой mesh в Matlab выполняются графики трехмерных поверхностей с заданной или функциональной окраской.

mesh ( X , Y , Z , C ) – выводит в графическое окно сетчатую поверхность с цветами узлов поверхности, заданных массивом С.

mesh ( X , Y , Z ) – аналог предшествующей команды при C = Z, с использованием функциональной окраски, при которой цвет задается высотой поверхности.

Пример

clc

clear

x1=-2:0.1:3;

y1=-4:0.1:4;

[x,y]=meshgrid(x1, y1);

z=x.^2+y.^2;

mesh(x,y,z)

В результате выполнения этой программы на экран будет выведена фигура, приведенная на рисунке 1.4.

Рис. 1.4. Трехмерный график, построенный с помощью функции mesh

 

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

clc

clear

x1=-2:0.1:3;

y1=-4:0.1:4;

[x,y]=meshgrid(x1,y1);

nx=length(x1);

ny=length(y1);

for i=1:nx

for j=1:ny

  z(j,i)=x1(i)^2+y1(j)^2;

end;

end;

mesh(x,y,z)

Заметим, что точке (x1(i),y1(j)) соответствует значение функции z(j,i).

 

Порядок выполнения работы

 

1.3.1. Выбрать функцию из таблицы 1.1 в соответствии с номером своего варианта и получить (записать) для нее отрезок ряда Тейлора (1.1) в окрестности некоторой точки до 4-й степени независимой переменной включительно.

1.3.2. Написать m-файл-сценарий для аппроксимации функции одной переменной отрезками ряда Тейлора в окрестности некоторой точки от нулевой до 4-й степени независимой переменной включительно. C помощью программы plot вывести в одно графическое окно графики функции и аппроксимирующих полиномов. Проанализировать точность аппроксимации при различном числе слагаемых ряда Тейлора.

1.3.3. Выбрать функцию из таблицы 1.2 в соответствии с номером своего варианта, представив в ней скалярный аргумент  в виде полинома 1-й или 2-й степени переменных , , например, в виде

,

,

,

и т.д. Для полученной таким образом функции двух переменных  записать выражение ряда Тейлора (1.2) до 3-й степени независимых переменных включительно.

1.3.4. Написать m-файл-сценарий для аппроксимации функции двух переменных отрезками ряда Тейлора в окрестности некоторой точки от нулевой до 3-й степени независимой векторной переменной включительно. С помощью программы mesh вывести в одно графическое окно графики функции и аппроксимирующих полиномов. Проанализировать точность аппроксимации при различном числе слагаемых ряда Тейлора.

1.3.5. Оформить отчет, в котором привести функцию одной переменной, ее ряд Тейлора до 4-й степени независимой переменной включительно и графическую иллюстрацию аппроксимации, а также функцию двух переменных, ее ряд Тейлора до 3-й степени независимых переменных включительно и графическую иллюстрацию аппроксимации.

 

Таблица 1.1. Варианты заданий для функций одной переменной

№ вари-анта   Функция № вари-анта   Функция
1. 16.
2. 17.
3. 18.
4. 19.
5. 20.
6. 21.
7. 22.
8. 23.
9. 24.
10. 25.
11. 26.
12. 27.
13. 28.
14. 29.
15. 30.

 

Таблица 1.2. Варианты заданий для функций двух переменных

№ вари-анта   Функция № вари-анта   Функция
1. 16.
2. 17.
3. 18.
4. 19.
5. 20.
6. 21.
7. 22.
8. 23.
9. 24.
10. 25.
11. 26.
12. 27.
13. 28.
14. 29.
15. 30.


Дата: 2019-02-02, просмотров: 468.