Символьные переменные
Лабораторная работа №6
Разложение функции в ряд Тейлора
Цели работы:
· знакомство с символьными переменными и некоторыми функциями Symbolic toolbox;
· нахождение оценки точности разложения функции в ряд Тейлора в окрестности заданной точки.
Необходимое оборудование и материалы.
· ОС Windows XP, Vista, 7;
· Matlab 6.5 или 7.x;
· ПК класса не ниже Pentium II, RAM 128Mb.
Трудоемкость: 4 академических часа.
Символьные переменные
Символьные переменные и функции являются объектами класса sym, в отличие от числовых переменных, которые содержатся в массивах double array. Символический объект создается при помощи функции syms. Команда
>> syms x a b
создает три символьные переменные x, a и b.
Конструирование символьных переменных от переменных класса sym производится с использованием обычных арифметических операций и обозначений для встроенных математических функций, например
>> f=5*x^2+6*x-4
f =
5*x^2 + 6*x - 4
>> g=sin(x)*cos(x)^2
g =
cos(x)^2*sin(x)
Размер памяти, отводимый по умолчанию под символьные переменные, достаточно большой – посмотрите информацию об определенных только что переменных в окне Workspace браузера рабочей среды или вызовите команду whos:
>> whos x a b f g
Name Size Bytes Class
a 1x1 126 sym
b 1x1 126 sym
f 1x1 184 sym
g 1x1 184 sym
x 1x1 126 sym
Символьные операции позволяют находить точные значения выражений или значения со сколь угодно большой точностью. Для преобразования значения числовой переменной в символьную служит функция sym. Введите массив типа double array
|
|
>> A=[rand(1) 1.4 sin(5);
-8 1/3 exp(-2)]
A =
0.1270 1.4000 -0.9589
-8.0000 0.3333 0.1353
и образуйте соответствующий ему символьный массив
>> B=sym(A)
B =
[ 4575182228323196*2^(-55), 7/5, -8637222012098867*2^(-53)]
[ -8, 1/3, 4875967449235916*2^(-55)]
Вычисления с рациональными дробями позволяет получить значение символьного выражения с любой степенью точности, т.е. найти сколь угодно много значащих цифр результата. Для вычисления символьных выражений предназначена функция vpa:
>> c=sym(sqrt(2))
c =
sqrt(2)
>> cn=vpa(c,20)
cn =
1.4142135623730950488
>> cn=vpa(c,40)
cn =
1.41421356237309504880168872420969807857
Рассмотрим операции с полиномами.
Функция collect вычисляет коэффициенты при степенях независимой переменной.
Функция expand представляет полином суммой степеней без приведения подобных.
Символьные переменные разлагаются на множители функцией factor.
>> p=x^3+2*x-3
p =
x^3 + 2*x - 3
>> g=factor(p)
g =
(x - 1)*(x^2 + x + 3)
>> f=collect(g)
f =
x^3 + 2*x - 3
>> f-p
ans =
Для представления символьного полинома в векторном виде используется функция sym2poly, а для обратного преобразования функция poly2sym.
Пример 1. Найти произведение полиномов
|
|
с использование символьных переменных и преобразовать результат к векторному виду.
% файл-сценарий вычисления произведения полиномов
clear all
close all
clc
syms x % определение символьной переменной
% перемножение полиномов
PSym2=(x+5)*(x-4)*(2*x+3)*(x^2+2*x+5)
% раскрытие скобок
PSym3=collect(PSym2)
% представление полинома в виде массива коэффициентов
PPoly3=sym2poly(PSym2)
Дата добавления: 2015-12-21; просмотров: 11; Мы поможем в написании вашей работы! |
Мы поможем в написании ваших работ!