Дипломы, курсовые, рефераты, контрольные...
Срочная помощь в учёбе

Символьные переменные и функции

РефератПомощь в написанииУзнать стоимостьмоей работы

Для символьных переменных и функций используется файл-функция с тем же именем plus, находящаяся в подкаталоге oolboxsymbolic@sym основного каталога MATLAB. Изучить ее содержимое можно, открыв файл plus. m в редакторе MATLAB. В начале оба ее входных аргумента приводятся к символьному типу данных при помощи функции sym, что позволяет складывать символьную переменную с числовой и получить символьный… Читать ещё >

Символьные переменные и функции (реферат, курсовая, диплом, контрольная)

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

Объектно-ориентированный подход, реализованный в MATLAB, позволил сделать работу с символьными выражениями простой и удобной.

Определение переменных и функций и работа с ними

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

>> syms x a b.

создает три символьные переменные х, а и b. Размер памяти, отводимый по умолчанию под символьные переменные, достаточно большой — посмотрим информацию об определенных только что переменных в окне Workspace браузера рабочей среды или вызовем команду whos:

>> whos x a b.

Name Size Bytes Class Attributes.

a 1×1 126 sym.

b 1×1 126 sym.

x 1×1 126 sym.

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

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

f =.

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

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

>> pretty (f).

2 2.

(b + cos (x)) (a + sin (x)).

  • —————————————-
  • ½

|a + b|.

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

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

>> syms y.

>> g=(exp (-y)+1)/exp (y).

g =.

(1/exp (y) + 1)/exp (y).

>> h=f*g.

h =.

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

>> pretty (h).

2 2.

exp (-y) (b + cos (x)) (exp (-y) + 1) (a + sin (x)).

  • ————————————————————————-
  • ½

|a + b|.

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

>> z=sym ('c2/(d+1)').

z =.

c2/(d+1).

>> pretty (z).

c.

——;

d + 1.

Замечание:

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

При работе в области комплексных чисел следует указать, что определяемые переменные являются, в общем случае, комплексными.

Комплексные символьные переменные задаются командой syms с опцией unreal. Опция real означает, что переменные интерпретируются как вещественные. Убедимся, что результат символьных вычислений зависит от того, какие символьные переменные используются — вещественные или комплексные. Объявим две вещественные переменные, а и b, образуем комплексное число, считая, что, а является действительной частью, а b-мнимой, и найдем сопряженное к нему при помощи conj:

>> syms a b real.

>> p=conj (a+i*b).

p =.

a — b*i.

Произведем аналогичные действия, предварительно объявив, а и b как комплексные переменные:

>> syms a b unreal.

>> q=conj (a+i*b).

q =.

conj (a) — i*conj (b).

Обратим внимание на значения символьных переменных р и q.

Использование одних и тех же операторов в символьных и числовых выражениях возможно благодаря тому, что пакет MATLAB является объектно-ориентированной системой. Для сложения чисел и числовых массивов в MATLAB зарезервирован знак +, который приводит к вызову встроенной функции plus, расположенной в подкаталоге oolboxmatlabops основного каталога MATLAB. Например, 1.3 + 2.9 и plus (1.3, 2.9) приводят к одинаковому результату.

>> 1.3+2.9.

ans =.

4.2000.

>> plus (1.3,2.9).

ans =.

4.2000.

Для символьных переменных и функций используется файл-функция с тем же именем plus, находящаяся в подкаталоге oolboxsymbolic@sym основного каталога MATLAB. Изучить ее содержимое можно, открыв файл plus. m в редакторе MATLAB. В начале оба ее входных аргумента приводятся к символьному типу данных при помощи функции sym, что позволяет складывать символьную переменную с числовой и получить символьный результат. Далее проверяется совпадение размеров входных аргументов, которые могут быть массивами. Последняя строка содержит вызов функции maple, служащей для обращения к соответствующей функции или оператору из ядра пакета Maple — в данном случае символьному сложению.

Говоря на языке объектно-ориентированного программирования, числовые переменные типа double array образуют класс со своими методами (в том числе plus). Для класса символьных объектов sym метод plus переопределен, MATLAB определяет по типу аргумента соответствующий метод класса и выполняет его.

Пользователь MATLAB может создавать собственные классы и определять их методы, в том числе и переопределять методы предка класса.

Показать весь текст
Заполнить форму текущей работой