Символьные переменныеСтр 1 из 2Следующая ⇒
Лабораторная работа №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 arhivinfo.ru Все права принадлежат авторам размещенных материалов.
|