Студопедия

КАТЕГОРИИ:


Архитектура-(3434)Астрономия-(809)Биология-(7483)Биотехнологии-(1457)Военное дело-(14632)Высокие технологии-(1363)География-(913)Геология-(1438)Государство-(451)Демография-(1065)Дом-(47672)Журналистика и СМИ-(912)Изобретательство-(14524)Иностранные языки-(4268)Информатика-(17799)Искусство-(1338)История-(13644)Компьютеры-(11121)Косметика-(55)Кулинария-(373)Культура-(8427)Лингвистика-(374)Литература-(1642)Маркетинг-(23702)Математика-(16968)Машиностроение-(1700)Медицина-(12668)Менеджмент-(24684)Механика-(15423)Науковедение-(506)Образование-(11852)Охрана труда-(3308)Педагогика-(5571)Полиграфия-(1312)Политика-(7869)Право-(5454)Приборостроение-(1369)Программирование-(2801)Производство-(97182)Промышленность-(8706)Психология-(18388)Религия-(3217)Связь-(10668)Сельское хозяйство-(299)Социология-(6455)Спорт-(42831)Строительство-(4793)Торговля-(5050)Транспорт-(2929)Туризм-(1568)Физика-(3942)Философия-(17015)Финансы-(26596)Химия-(22929)Экология-(12095)Экономика-(9961)Электроника-(8441)Электротехника-(4623)Энергетика-(12629)Юриспруденция-(1492)Ядерная техника-(1748)

Табулирование функции

Вычисление производных.

Вычисление пределов.

Символьные вычисления в среде MATLAB.

Лекция № 7.

 

В состав MATLAB входит ToolBox Symbolic Math, предназначенный для вычислений в символьном виде. Преобразование выражений, отыскание аналитического решения задач линейной алгебры, дифференциального и интегрального исчисления, получение численного результата с любой точностью-вот далеко не полный перечень возможностей, предоставляемых данным ToolBox. Объектно-ориентированный подход, реализованный в MATLAB, позволил сделать работу с символическими выражениями простой и удобной.

Символьные переменные и функции являются объектами класс sym object, в отличии от числовых переменных, которые содержатся в массивах double array. Символьный объект создается при помощи функции syms.

Команда

>> syms x a b

создает три символьные переменные х, а, b. Размер памяти, отводимый под символьные переменные, достаточно большой.

Конструирование символических функций от переменных класса sym object производится с использованием обычных арифметических операций и обозначений для встроенных математических функций, например:

> f=(sin(x)+a)^2*(cos(x)+b)^2/sqrt(abs(a+b))

f =

(sin(x)+a)^2*(cos(x)+b)^2/abs(a+b)^(1/2)

Запись формулы для выражения в одну строку не всегда удобна, более естественный вид выражения выводит в командное окно функция pretty ():

Определенная функция f также является символической переменной типа sym object, в чем несложно убедиться при помощи команды whos:

>> whos f

Name Size Bytes Class

f 1x1 204 sym object

Grand total is 41 elements using 204 bytes

Имеющиеся символические переменные и функции позволяют образовывать новые символические выражения:

Символическую функцию можно создать без предварительного объявления переменных при помощи sym, входным аргументом которой является строка с выражением, заключенная в апострофы:

Замечание. Функция sym может быть использована для объявления символических переменных. Команда syms a,b,c эквивалентна последовательности a=sym('a');b=sym('b');c=sym('c').

 

Математическая функция может быть представлена в виде формулы, таблицы, графика. Табличное представление функции необходимо в следующих случаях:

· определение погрешности интерполяции;

· вычисление табличных разностей с целью определения степени интерполяционного полинома;

· определение области изоляции корня;

· оценка численных значений функции в широком диапазоне.

В среде MATLAB табулирование функции осуществляется с помощью функции subs(f,x,x1), где:

f -функция, заданная аналитически;

x - аргумент функции f;

х1 - вектор значений аргумента х, при котором определяется значение функции f.

Переменная х1 может представляться в виде вектора или при постоянном шаге в виде: , где -начальное значение х1, - шаг, -конечное значение х1.

Технология табулирования функции

1. Определение группы символьных переменных с помощью функции syms.

2. Образование вектора х1.

3. Ввод функции табулирования

4. Образование функции табулирования subs.

5. Получение решения путем нажатия клавиши <Enter>.

Пример: найти значения функции для х1 в диапазоне [0;1] с постоянным шагом h = 0.01 и в случае, когда х1 =[0, 0.5, 1, 3, 5].

Решение:

>> syms x,x1,y;

>> x1=[0,0.5,1,3,5];

>> y=x.^(3/2);

>> subs(y,x,x1)

ans = 0 0.3536 1.0000 5.1962 11.1803

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

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

1. Определение символьных переменных с помощью функции syms.

2. Образование вектора аргумента х.

3. Образование матрицы, элементами которой являются аргумент х и табулируемые функции.

4. Получение решения путем нажатия клавиши <Enter>.

5. При необходимости получение решения в столбик используется функция (транспонирование).

Пример: найти значения функций в диапазоне изменения х, равном [0;1], с шагом 0,2. Решение получить в виде матрицы.

Решение:

>> syms x,y;

>> x=0:0.2:1;

>> y=[x; exp(x);sin(x);cos(x)]

y =

0 0.2000 0.4000 0.6000 0.8000 1.0000

1.0000 1.2214 1.4918 1.8221 2.2255 2.7183

0 0.1987 0.3894 0.5646 0.7174 0.8415

1.0000 0.9801 0.9211 0.8253 0.6967 0.5403

>> y'

ans =

0 1.0000 0 1.0000

0.2000 1.2214 0.1987 0.9801

0.4000 1.4918 0.3894 0.9211

0.6000 1.8221 0.5646 0.8253

0.8000 2.2255 0.7174 0.6967

1.0000 2.7183 0.8415 0.5403

 

<== предыдущая лекция | следующая лекция ==>
Граничные условия | Вычисление суммы элементов массива чисел
Поделиться с друзьями:


Дата добавления: 2014-01-05; Просмотров: 2928; Нарушение авторских прав?; Мы поможем в написании вашей работы!


Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет



studopedia.su - Студопедия (2013 - 2024) год. Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав! Последнее добавление




Генерация страницы за: 0.008 сек.