Символьные вычисления

Основные символьные операции. Основой аналитических вычислений является символьная переменная (то есть фактически массив символов или строка). Она объявляется с предварительным указанием типа.

syms x y две символьные переменные.

Затем можно написать какие-то формулы с их использованием и сохранить в новых переменных (например, g, f) которые уже автоматически становятся символьными. После этого выражения с их использованием тоже будут строками символов(например, f*g).

Символьная переменная, содержащая формулу, выводится в строку. Если надо выводить в более традиционном представлении математических формул, то используется функция pretty.

function Start_sym1 syms x y f=(x^2+y^2)/(sin(x)-y^2) g=x^0.5-log(y) a1=f*g pretty(f) pretty(f*g) end

                                  2     2

                               x + y

                             -----------

                                           2

                             sin(x) – y

 

                         2  2 1/2

                      (x + y) (x - log(y))

                      -------------------------

                                           2

                             sin(x) – y

f =  (x^2+y^2)/(sin(x)-y^2) g =  x^(1/2)-log(y) a1 =  (x^2+y^2)/(sin(x)-y^2)*(x^(1/2)-log(y))

Для представления нецелого числа в виде дроби есть функция sym.

Вычислить числовое значение символьного выражения можно функцией vpa.

function Start_sym2  a=pi c=sym(a) ChisloPi=vpa(c) a=2.3; a1=sym(a) A=[0.5 0.25;0.2 0.1] a2=sym(A) end a = 3.1416  c = pi ChisloPi = 3.1415926535897932384626433 a1 = 23/10   A = 0.5000 0.2500 0.2000 0.1000 a2 = [ 1/2, 1/4] [ 1/5, 1/10]

Преобразование выражений. Для вычисления коэффициентов полинома есть функция collect(выражение, переменная), если переменную не указывать, то будет искать коэффициенты для переменной х. Если надо разложить на простые множители, то есть функция factor(выражение). Для упрощения выражения есть функция simple. Его аналог функция simplify. Если же надо заменить символьную переменную на некое другое символьное выражение, то есть функция subs(выражение, имяСтаройПеременной, имяНовойПеременной).

Если символьная формула содержит несколько символьных переменных, то для подстановки вместо них их числовых значений надо указать список подставляемых значений.

function Start_sym3 x=-1; a1= subs(x^2+x-1) syms a b; pol=('2*x^4-5*x^2-7') p=subs(pol,a+b) a2=subs(p,{a,b},{1 2}) end a1 = -1 pol = 2*x^4-5*x^2-7 p = 2*(a+b)^4-5*(a+b)^2-7 a2 = 110

Аналитическое решение задач линейной алгебры.

Функция length определяет длину вектора.

Функция prod вычисляет произведение элементов вектора.

Функция sum определяет сумму элементов вектора.

Функция mean определяет среднее арифметическое вектора.

Функция dot вычисляет скалярное произведение векторов.

Функция cross вычисляет векторное произведение векторов.

Функция sort выполняет сортировку по возрастанию, а –sort по убыванию элементов вектора.

Функция diag формирует матрицу с заданными элементами на заданной диагонали или возвращает элементы заданной диагонали.

Функция cat объединяет матрицы.

Функция tril формирует нижнетреугольную матрицу.

Функция triu формирует верхнетреугольную матрицу.

Функция size определяет размеры матрицы.

Функция det находит определитель матрицы.

Функция trace находит след (сумму по диагонали) матрицы.

Функция inv находит обратную матрицу.

Функция eig находит вектор собственных значений матрицы.

Функция poly находит вектор коэффициентов характеристического полинома матрицы. Все эти функции уже рассматривались раньше. Формат их вызова тот же.

function Start_sym4 syms a b c d a1=length([a b c d]) a2=prod([a b c d]) a3= sum([a b c d]) a4=mean([a b c d]) end a1 = 4 a2 = a*b*c*d a3 = a+b+c+d a4 = 1/4*a+1/4*b+1/4*c+1/4*d

Построение графика символьной функции. Построить график (рис.1.55) функции одной переменной можно функцией ezplot. Для этого указывают символьное выражение и границы изменения переменной (по умолчанию от 0 до 2π).

Рис.1.55. Построение графика ezplot('sin(x)',[0, 6.28])

Также она позволяет (рис.1.56) отображать параметрические функции. Для этого указывают аргументы функции: имена символьных выражений (двух) и границы изменения параметра. Если границы не указаны, то по умолчанию от 0 до 2π.

Рис.1.56. График ezplot('x^2/3+y^2/5-1',[-2 2 -4 4]).

Для построения символьной функции в полярных координатах (рис.1.57, рис.1.58) предусмотрена функция

ezpolar(функция f(Rho), [интервал изменения Rho]).

По умолчанию интервал от 0 до 2π.

Рис.1.57. График символьной функции в полярных координатах ezpolar('sin(6*fi)')

x=('cos(t)+t*sin(t)'); y=('sin(t)-t*cos(t)'); ezplot(x,y,[0 4*pi])  

Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: