Sims requires symbolic math toolbox ошибка

Hi everyone

when i run the program at version 2021 a, it shows me this message

‘syms’ requires Symbolic Math Toolbox.

Error in M17_khodir (line 4)

syms x

however it works with my friend version (2018)

any Help

Thanks

Русские Блоги

Как добавить Toolbox в Matlab (подробное объяснение со скриншотами) (R2019b)

Каталог статей

1. Подготовьте набор инструментов.

Давайте рассмотрим добавление набора инструментов fecgsyn-master в качестве примера, чтобы объяснить метод добавления набора инструментов в Matlab.

Сайт загрузки наборов инструментов Matlab: http://fernandoandreotti.github.io/fecgsyn/

2. Разархивируйте и скопируйте в папку

Разархивируйте загруженный файл и скопируйте папку в каталог Toolbox Matlab, например: D: Program Files MATLAB R2019b toolbox.

Фактически, его не обязательно копировать в этот путь, если он помещен в конкретныйанглийскийПросто следуйте по пути, и вы сможете исправить это позже.

3. Задайте путь

Откройте Matlab, нажмите «Файл-> Установить путь-> Добавить папку» (в китайской версии путь настройки указан прямо на панели, или вы можете найти его в справке) и добавьте папку, только что разархивированную и скопированную. Помните, что если в папке, которую вы хотите добавить, есть подпапки, вы должны нажать «Добавить с подпапками», выбрать папку только сейчас и добавить все подпапки папки.

4. Обновите кеш пути к панели инструментов.

Затем в «Файл-> Настройки-> Общие» обновите кэш пути к панели инструментов.

How to use the Symbolic Math Toolbox in MATLAB to analyze the Fourier series

Symbolic Math Toolbox provides an easy, intuitive and complete environment to interactively learn and apply math operations such as calculus, algebra, and differential equations.

It can perform common analytical computations such as differentiation and integration to get close form results.

It simplifies and manipulates expression for great insights and solves algebraic and differential equations.

In this tutorial, the Fourier series (Trigonometric and Exponential) is implemented and simulated using MATLAB’s Symbolic Math Toolbox.

The proposed programs are versatile and can receive any function of time(t). It means that the function is dependent on time.

Moreover, the program gives plots of harmonics, original and approximated functions, magnitude spectrum, and phase spectrum.

This toolbox is already available in MATLAB. Therefore, you do not need to retrieve it from an external source. For example, to understand more about the Fourier series, you can read here.

Prerequisites

To follow along with this tutorial, you will need:

    installed.

  1. A proper understanding of MATLAB basics.

Symbolic Math Toolbox

This toolbox has a wide range of applications:

To visualize analytical expressions in 2D and 3D and animate plots to create videos.

Symbolic Math Toolbox in the live editor (mode in MATLAB) lets you interactively update and display Symbolic math computations.

Besides, MATLAB code, formatted text, equations, and images can be published as executable live scripts, PDFs, or HTML documents.

While working with analytical problems, you can receive suggestions and tips. These suggestions help one insert and execute function calls or tasks directly into live scripts.

The Symbolic Math Toolbox also provides precision for higher or lower positions. It allows algorithms to run better than MATLAB’s in-built double. Furthermore, it has units for working with physical quantities and performing dimensional analysis.

Units for working with physical quantities

This is an example of how this toolbox adds units for physical quantities

Symbolic Math Toolbox is widely applied in many engineering and scientific applications. Symbolic expressions of exact gradient and Hessians improve accuracy and optimization speed.

In non-linear control design, the Symbolic Math Toolbox improves recalculation speed at any operating point during execution. Furthermore, you can integrate symbolic results with MATLAB and Simulink applications. It is done by converting symbolic expressions into numeric MATLAB functions, Simulink, and Simscape blocks.

converting functions to Simulink

Sample of function converted to Simulink

Now, all these applications discussed above were to give you an insight into the wide application of this toolbox. However, not all of them are discussed here. Here, we will only major in using the toolbox to solve Fourier series problems.

How to use the Symbolic Math Toolbox

This toolbox is enabled in MATLAB using the function syms . However, you get an error message if you have the expression x=2*a+b and try to execute it in Matlab. The error message is undefined function or variable ‘a’ as shown below:

When using the syms function, the variable x is saved without the error message. When using the Symbolic Math Toolbox, the idea here is that you first define the symbolic variables. Symbolic variables are the undefined variables in an equation. For example, our symbols are a and b for our expression above. We first define these variables using the symbolic function syms .

After defining the symbols and rerunning the code above, our workspace stored our variables. We will then have:

Solving Fourier series using the Symbolic Math Toolbox

Let’s say we have a Fourier transform shown below:

The symbolic variables are t , w , T , and W , which we define by executing the command below:

w is the angle theta, T is the time function, and W is used to express the angular radians in the Fourier transform.

After the declaration of the symbolic variables, you can write the Fourier transform as shown below:

In MATLAB, int means integration. In the MATLAB expression above: exp(-t/2) is our equation which we are finding its Fourier transform. exp(-j*w*t) is the basic function of the Fourier transform. t shows that we are differentiating with respect to time. [0, inf] shows the integration limits from 0 to infinity .

Note that we don’t write f(t) when writing our equation in MATLAB. It is because we already know that our function is a time function. Also, t is a symbol variable, so we do not write it in our expression.

When the above program is executed, we get the output below:

To format this output in a user-friendly manner, we use the function pretty() . pretty(f) prints the symbolic expression f in a format that resembles type-set mathematical equations. When you execute this function in the command window, we have:

Now, we need to get the values of w since we use them to plot the Fourier transform. To do that, execute the code below:

subs mean symbolic substitution. This function replaces the symbolic variable in f with the values of w . The values range from -pi to pi . When we do this, we get the values below:

We now plot these values using the plot() function.

plot(angle(double(data_value))) gives the phase spectrum plot. The function subplot() is used to create a subplot. title() gives the plot a title.

phase spectrum

Phase spectrum plot

Now, let us plot the magnitude response using the same values of w .

The code plot(abs(double(data_values))) gives the magnitude spectrum. This plot uses the absolute values of the data, thus abs() .

magnitude spectrum

Magnitude spectrum plot

Example 2

Let’s look at another example:

example 2

The output here is:

To find the values of w , we use the subs() function.

After that, we plot the absolute values of the variable f-sub .

Range of -pi to pi

Plot for the range -pi to pi

Range of -2pi to 2pi

Plot for the range -2pi to 2pi

Range of -4pi to 4pi

Plot for the range -4pi to 4pi

Range of -8pi to 8pi

Plot for the range -8pi to 8pi

While making the plots, we used the ezplot function. ezplot(FUN) is used to plot a function x over the default domain, -2*pi<x<2*pi . As we have seen, the Symbolic Math Toolbox makes it easy to analyze the Fourier series. Moreover, it makes it easy since you do not have to write long codes.

Conclusion

Symbolic Math Toolbox is an important toolbox for solving differential and integration operations. As we have seen in solving the Fourier series above, it is easy to use. This toolbox also helps find the Laplace transform of various equations. Generally, this toolbox has a wide application in science and engineering.

Цель работы:изучить систему команд расширения MATLAB (Toolbox) для работы с символьными переменными Symbolic Math.

Теоретические данные:

Расширение (Toolbox) Symbolic Math предназначено для работы с математическими выражениями в символьных переменных, то есть в привычном для нас виде, когда переменная не заменяется ее числовым значением, может входить в разные функции, выражения и уравнения, а также преобразовываться в любых доступных формах с помощью известных алгебраических преобразований. Кроме того, указанное расширение дает возможность символьного интегрирования и дифференцирования, с последующей подстановкой числовых значений, упрощением и преобразованием вновь получаемых математических зависимостей.

Основные команды, используемые для работы с символьными переменными:

1. Общие операции:

syms – создает символьные переменные упрощенным способом. Формат команды: syms vol1 vol2 …, где vol1, vol2 и т.д. – имена создаваемых символьных переменных. Для создания символьных переменных может также применяться команда sym, которая применяется в следующем формате: vol1 = sym(‘vol1’). Таким образом, в скобках, заключенное в апострофы, задается имя создаваемой переменной. Такая запись является чересчур громоздкой, поэтому рекомендуется применять упрощенную команду syms, при этом, создаваемые переменные просто перечисляются через пробел после самой команды. Ставить знак «;» после команды syms не требуется;

pretty – выдает символьное выражение в многоуровневом представлении (в привычном нам виде). Формат записи команды: pretty(vol), где vol – имя переменной, в которой хранится символьное выражение. Например, символьное выражение:
A = (2*x+y*x*2+y^2)/(2*a+3*b) в линейной форме записи, будет преобразовано командой pretty в:

2. Решение уравнений:

solve – решение алгебраических уравнений, в том числе их систем. Формат записи:

solve (‘eqn1′,’eqn2’. ‘eqnN’,’var1,var2. varN’), где eqn1, eqn2 и т.д. – уравнения, решения которых нужно найти.

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

dsolve – решение дифференциальных уравнений. Формат записи:

simplify – упрощение выражения;

expand – раскрывает все скобки в выражении;

collect – выносит общий множитель за скобки;

subs – подстановка числовых значений вместо символьных.

Формат записи для всех команд одинаков:

vol2 = command(vol1), где vol1 – преобразуемая переменная, vol2 – переменная, в которую будет записан результат преобразования, command – одна из указанных выше команд.

diff – дифференцирование выражения. Формат записи:
diff(vol1, n), где n – порядок дифференцирования;

int – интегрирование выражения. Формат записи: int(vol1,a,b), где a и b – верхний и нижний пределы интегрирования, в случае нахождения определенного интеграла;

limit – нахождение предела выражения. Формат записи:
limit(vol1,x,a,’ident’), где x – имя переменной которая стремится к пределу, a – численное значение, к которому стремится переменная x, ident – может принимать значения left и right, т.е. это указание, в какую сторону стремится величина x – направление для односторонних пределов.

Практическое применение:

Пример №1: Необходимо задать выражение A = (x*2+y^3-3*z)*3*x+4*y^3, упростить его и определить значение A в точке (1,2,1).

Выполняется следующим образом:

% после выполнения этой команды в рабочей области (workspace появятся три символьные переменные x, y и z

% результат выполнения команды:

% показывает как выражение было занесено в переменную А. В отдельных случаях, когда возможно упростить вводимое выражение, оно будет упрощено и выдано на экран уже в упрощенном виде. Как видно из результата применения команды, все составляющие в скобке были помножены на 3.

% для дополнительного контроля можно применить команду

% результат ее применения:

% (6 x + 3 y — 9 z) x + 4 y

% раскрываем скобки, запоминаем результат в переменной А1

% результат: A1 = 6*x^2+3*x*y^3-9*x*z+4*y^3

% группируем переменные в выражении А1 и выносим общие множители за скобки. Результат: A2 = 6*x^2+(3*y^3-9*z)*x+4*y^3

% задаем значения переменных x, y и z соответственно заданной точке (1,2,1). при этом в рабочей области появятся уже числовые переменные с соответствующими значениями.

% подставляем численные значения в наше выражение, получаем результат:

% Возможно присваивание численных значений только части символьных переменных выражения. Для иллюстрации этого вернем переменные x, y и z в символьный вид:

% результат в этом случае: A3 = 62-9*z

Пример №2: Необходимо решить независимые уравнения
x+20=10, 3*x^2+2*x-10=0 и 4*x+5*x^3=-12.

Выполняется следующим образом:

1 уравнение:

2 уравнение:

% MATLAB выдал два корня уравнения в неупрощенном виде, для их упрощения необходимо повторить ответ в командном окне (скопировать его и заново ввести в командное окно)

3 уравнение:

Пример №3: Необходимо решить независимые уравнения
x+y=35, 3*x^2+2*y=0 и 4*x+5*y^3=-12 относительно переменной x.

Выполняется следующим образом:

1 уравнение:

2 уравнение:

3 уравнение:

Пример №4: Необходимо найти неопределенный интеграл и дифференциал выражения 3*a^5*sin(a).

Выполняется следующим образом:

Пример №5: Необходимо найти определенный интеграл выражения 3*a^5*sin(a), для пределов от -10 до 100.

Выполняется следующим образом:

Пример №6: Необходимо продифференцировать выражение 3*a^5*sin(a) четыре раза.

Выполняется следующим образом:

Пример №7: Необходимо получить передаточную функцию трех последовательно соединенных звеньев: , и . А также определить передаточную функцию замкнутой системы, состоящей из звеньев W1, W2 и W3 – в прямой ветви, и звена – в обратной связи, при условии отрицательной обратной связи.

OPEX

Пользователь
Сообщения: 150
Зарегистрирован: Вт сен 20, 2011 3:08 pm

не работает встроенная функция!!!

доброго времени суток. возникла проблема. есть встроенное слово syms, но у меня оно не работает. выдает такую ошибку:

??? Undefined function or variable ‘syms’.

пробовал переустановить MATLAB, но это не помогло.

помогите исправить.


Grizzly

Пользователь
Сообщения: 843
Зарегистрирован: Сб май 28, 2011 2:00 am

Сообщение Grizzly » Сб окт 08, 2011 6:47 pm

Symbolic Math Toolbox установлен?


OPEX

Пользователь
Сообщения: 150
Зарегистрирован: Вт сен 20, 2011 3:08 pm

Сообщение OPEX » Сб окт 08, 2011 6:51 pm

да, установлен. система Win 7 x64. может в этом проблема?


Grizzly

Пользователь
Сообщения: 843
Зарегистрирован: Сб май 28, 2011 2:00 am

Сообщение Grizzly » Сб окт 08, 2011 6:53 pm

У меня тоже Windows 7 x64, syms работает.


Grizzly

Пользователь
Сообщения: 843
Зарегистрирован: Сб май 28, 2011 2:00 am

Сообщение Grizzly » Сб окт 08, 2011 6:57 pm

Остальные-то функции Symbolic Math Toolbox работают?


OPEX

Пользователь
Сообщения: 150
Зарегистрирован: Вт сен 20, 2011 3:08 pm

Сообщение OPEX » Сб окт 08, 2011 6:57 pm

а Symbolic Math Toolbox Вы отдельно устанавливали? просто с одного и того же установочника устанавливали на два компьютера с х32 и х64, где х32 работает, а у меня нет! может Symbolic Math Toolbox отдельно надо установить?


OPEX

Пользователь
Сообщения: 150
Зарегистрирован: Вт сен 20, 2011 3:08 pm

Сообщение OPEX » Сб окт 08, 2011 6:58 pm

другие не пробовал!


Grizzly

Пользователь
Сообщения: 843
Зарегистрирован: Сб май 28, 2011 2:00 am

Сообщение Grizzly » Сб окт 08, 2011 6:58 pm

Наберите в командной строке

Вы увидете все установленные тулбоксы.


Grizzly

Пользователь
Сообщения: 843
Зарегистрирован: Сб май 28, 2011 2:00 am

Сообщение Grizzly » Сб окт 08, 2011 7:01 pm

Я устанавливал сразу все тулбоксы. Вероятно, вы установили выборочно некоторые из них. Попробуйте с этого же установочника поставить Symbolic Math Toolbox.


OPEX

Пользователь
Сообщения: 150
Зарегистрирован: Вт сен 20, 2011 3:08 pm

Сообщение OPEX » Сб окт 08, 2011 7:17 pm

решил проблему путем установки MATLABA для х32 системы. вроде сейчас все работает. попробовал «ver» как Вы сказали Symbolic Math Toolbox присутствует. большое спасибо за помощь.


0 / 0 / 0

Регистрация: 16.12.2013

Сообщений: 48

1

11.05.2015, 19:01. Показов 14649. Ответов 11


Студворк — интернет-сервис помощи студентам

В 2008b матлабе при использовании syms пишет: ??? Undefined function or variable ‘syms’.
Что можно сделать? может быть подгрузить какие-то модули?



0



Northfolk

0 / 0 / 0

Регистрация: 11.05.2015

Сообщений: 3

11.05.2015, 19:08

2

Пробовали записать так?

Matlab M
1
x = sym('x');



0



0 / 0 / 0

Регистрация: 16.12.2013

Сообщений: 48

11.05.2015, 19:10

 [ТС]

3

Все равно ругается



0



Northfolk

0 / 0 / 0

Регистрация: 11.05.2015

Сообщений: 3

11.05.2015, 19:20

4

К сожалению, я новичок в работе с Matlab’ом и многим не помогу, но попробуйте прописать

Matlab M
1
ver

И посмотреть установлен ли у вас Symbolic Math Toolbox.



0



0 / 0 / 0

Регистрация: 16.12.2013

Сообщений: 48

11.05.2015, 21:59

 [ТС]

5

Не установлено, к сожалению. Вы не знаете, откуда можно это скачать? В гугле пока не нашел



0



Krasme

6651 / 4749 / 1981

Регистрация: 02.02.2014

Сообщений: 12,729

11.05.2015, 22:22

6

ничего не подключала специально…
такое работает

Matlab M
1
2
3
syms a b
f=(a+b)/(a*b);
disp(f);

Добавлено через 26 секунд
plif, вы бы свой текст показали..



0



0 / 0 / 0

Регистрация: 16.12.2013

Сообщений: 48

11.05.2015, 22:27

 [ТС]

7

syms a b не работает, как только появляется это слово, начинает ругаться.
А откуда вы скачивали матлаб?, может у меня неполная версия



0



6651 / 4749 / 1981

Регистрация: 02.02.2014

Сообщений: 12,729

11.05.2015, 22:32

8

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



0



0 / 0 / 0

Регистрация: 16.12.2013

Сообщений: 48

11.05.2015, 22:34

 [ТС]

9

а я файл не создавал… Просто пишу команды в Command Window



0



6651 / 4749 / 1981

Регистрация: 02.02.2014

Сообщений: 12,729

11.05.2015, 22:42

10

Лучший ответ Сообщение было отмечено plif как решение

Решение

тут обсуждается ваша проблема…



1



0 / 0 / 0

Регистрация: 16.12.2013

Сообщений: 48

12.05.2015, 00:35

 [ТС]

11

спасибо получилось!, когда я переустановил 32-битный, заработало!
Еще поставил 2013b матлаб, там тоже все работает



0



Krasme

12.05.2015, 06:23


    Syms не работает — Undefined function or variable ‘syms’

Не по теме:

теперь, как заяц, между двумя версиями прыг-скок? :D



0



Русские Блоги

Как добавить Toolbox в Matlab (подробное объяснение со скриншотами) (R2019b)

Каталог статей

1. Подготовьте набор инструментов.

Давайте рассмотрим добавление набора инструментов fecgsyn-master в качестве примера, чтобы объяснить метод добавления набора инструментов в Matlab.

Сайт загрузки наборов инструментов Matlab: http://fernandoandreotti.github.io/fecgsyn/

2. Разархивируйте и скопируйте в папку

Разархивируйте загруженный файл и скопируйте папку в каталог Toolbox Matlab, например: D: Program Files MATLAB R2019b toolbox.

Фактически, его не обязательно копировать в этот путь, если он помещен в конкретныйанглийскийПросто следуйте по пути, и вы сможете исправить это позже.

3. Задайте путь

Откройте Matlab, нажмите «Файл-> Установить путь-> Добавить папку» (в китайской версии путь настройки указан прямо на панели, или вы можете найти его в справке) и добавьте папку, только что разархивированную и скопированную. Помните, что если в папке, которую вы хотите добавить, есть подпапки, вы должны нажать «Добавить с подпапками», выбрать папку только сейчас и добавить все подпапки папки.

4. Обновите кеш пути к панели инструментов.

Затем в «Файл-> Настройки-> Общие» обновите кэш пути к панели инструментов.

How to use the Symbolic Math Toolbox in MATLAB to analyze the Fourier series

Symbolic Math Toolbox provides an easy, intuitive and complete environment to interactively learn and apply math operations such as calculus, algebra, and differential equations.

It can perform common analytical computations such as differentiation and integration to get close form results.

It simplifies and manipulates expression for great insights and solves algebraic and differential equations.

In this tutorial, the Fourier series (Trigonometric and Exponential) is implemented and simulated using MATLAB’s Symbolic Math Toolbox.

The proposed programs are versatile and can receive any function of time(t). It means that the function is dependent on time.

Moreover, the program gives plots of harmonics, original and approximated functions, magnitude spectrum, and phase spectrum.

This toolbox is already available in MATLAB. Therefore, you do not need to retrieve it from an external source. For example, to understand more about the Fourier series, you can read here.

Prerequisites

To follow along with this tutorial, you will need:

    installed.

  1. A proper understanding of MATLAB basics.

Symbolic Math Toolbox

This toolbox has a wide range of applications:

To visualize analytical expressions in 2D and 3D and animate plots to create videos.

Symbolic Math Toolbox in the live editor (mode in MATLAB) lets you interactively update and display Symbolic math computations.

Besides, MATLAB code, formatted text, equations, and images can be published as executable live scripts, PDFs, or HTML documents.

While working with analytical problems, you can receive suggestions and tips. These suggestions help one insert and execute function calls or tasks directly into live scripts.

The Symbolic Math Toolbox also provides precision for higher or lower positions. It allows algorithms to run better than MATLAB’s in-built double. Furthermore, it has units for working with physical quantities and performing dimensional analysis.

Units for working with physical quantities

This is an example of how this toolbox adds units for physical quantities

Symbolic Math Toolbox is widely applied in many engineering and scientific applications. Symbolic expressions of exact gradient and Hessians improve accuracy and optimization speed.

In non-linear control design, the Symbolic Math Toolbox improves recalculation speed at any operating point during execution. Furthermore, you can integrate symbolic results with MATLAB and Simulink applications. It is done by converting symbolic expressions into numeric MATLAB functions, Simulink, and Simscape blocks.

converting functions to Simulink

Sample of function converted to Simulink

Now, all these applications discussed above were to give you an insight into the wide application of this toolbox. However, not all of them are discussed here. Here, we will only major in using the toolbox to solve Fourier series problems.

How to use the Symbolic Math Toolbox

This toolbox is enabled in MATLAB using the function syms . However, you get an error message if you have the expression x=2*a+b and try to execute it in Matlab. The error message is undefined function or variable ‘a’ as shown below:

When using the syms function, the variable x is saved without the error message. When using the Symbolic Math Toolbox, the idea here is that you first define the symbolic variables. Symbolic variables are the undefined variables in an equation. For example, our symbols are a and b for our expression above. We first define these variables using the symbolic function syms .

After defining the symbols and rerunning the code above, our workspace stored our variables. We will then have:

Solving Fourier series using the Symbolic Math Toolbox

Let’s say we have a Fourier transform shown below:

The symbolic variables are t , w , T , and W , which we define by executing the command below:

w is the angle theta, T is the time function, and W is used to express the angular radians in the Fourier transform.

After the declaration of the symbolic variables, you can write the Fourier transform as shown below:

In MATLAB, int means integration. In the MATLAB expression above: exp(-t/2) is our equation which we are finding its Fourier transform. exp(-j*w*t) is the basic function of the Fourier transform. t shows that we are differentiating with respect to time. [0, inf] shows the integration limits from 0 to infinity .

Note that we don’t write f(t) when writing our equation in MATLAB. It is because we already know that our function is a time function. Also, t is a symbol variable, so we do not write it in our expression.

When the above program is executed, we get the output below:

To format this output in a user-friendly manner, we use the function pretty() . pretty(f) prints the symbolic expression f in a format that resembles type-set mathematical equations. When you execute this function in the command window, we have:

Now, we need to get the values of w since we use them to plot the Fourier transform. To do that, execute the code below:

subs mean symbolic substitution. This function replaces the symbolic variable in f with the values of w . The values range from -pi to pi . When we do this, we get the values below:

We now plot these values using the plot() function.

plot(angle(double(data_value))) gives the phase spectrum plot. The function subplot() is used to create a subplot. title() gives the plot a title.

phase spectrum

Phase spectrum plot

Now, let us plot the magnitude response using the same values of w .

The code plot(abs(double(data_values))) gives the magnitude spectrum. This plot uses the absolute values of the data, thus abs() .

magnitude spectrum

Magnitude spectrum plot

Example 2

Let’s look at another example:

example 2

The output here is:

To find the values of w , we use the subs() function.

After that, we plot the absolute values of the variable f-sub .

Range of -pi to pi

Plot for the range -pi to pi

Range of -2pi to 2pi

Plot for the range -2pi to 2pi

Range of -4pi to 4pi

Plot for the range -4pi to 4pi

Range of -8pi to 8pi

Plot for the range -8pi to 8pi

While making the plots, we used the ezplot function. ezplot(FUN) is used to plot a function x over the default domain, -2*pi<x<2*pi . As we have seen, the Symbolic Math Toolbox makes it easy to analyze the Fourier series. Moreover, it makes it easy since you do not have to write long codes.

Conclusion

Symbolic Math Toolbox is an important toolbox for solving differential and integration operations. As we have seen in solving the Fourier series above, it is easy to use. This toolbox also helps find the Laplace transform of various equations. Generally, this toolbox has a wide application in science and engineering.

Цель работы:изучить систему команд расширения MATLAB (Toolbox) для работы с символьными переменными Symbolic Math.

Теоретические данные:

Расширение (Toolbox) Symbolic Math предназначено для работы с математическими выражениями в символьных переменных, то есть в привычном для нас виде, когда переменная не заменяется ее числовым значением, может входить в разные функции, выражения и уравнения, а также преобразовываться в любых доступных формах с помощью известных алгебраических преобразований. Кроме того, указанное расширение дает возможность символьного интегрирования и дифференцирования, с последующей подстановкой числовых значений, упрощением и преобразованием вновь получаемых математических зависимостей.

Основные команды, используемые для работы с символьными переменными:

1. Общие операции:

syms – создает символьные переменные упрощенным способом. Формат команды: syms vol1 vol2 …, где vol1, vol2 и т.д. – имена создаваемых символьных переменных. Для создания символьных переменных может также применяться команда sym, которая применяется в следующем формате: vol1 = sym(‘vol1’). Таким образом, в скобках, заключенное в апострофы, задается имя создаваемой переменной. Такая запись является чересчур громоздкой, поэтому рекомендуется применять упрощенную команду syms, при этом, создаваемые переменные просто перечисляются через пробел после самой команды. Ставить знак «;» после команды syms не требуется;

pretty – выдает символьное выражение в многоуровневом представлении (в привычном нам виде). Формат записи команды: pretty(vol), где vol – имя переменной, в которой хранится символьное выражение. Например, символьное выражение:
A = (2*x+y*x*2+y^2)/(2*a+3*b) в линейной форме записи, будет преобразовано командой pretty в:

2. Решение уравнений:

solve – решение алгебраических уравнений, в том числе их систем. Формат записи:

solve (‘eqn1′,’eqn2’. ‘eqnN’,’var1,var2. varN’), где eqn1, eqn2 и т.д. – уравнения, решения которых нужно найти.

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

dsolve – решение дифференциальных уравнений. Формат записи:

simplify – упрощение выражения;

expand – раскрывает все скобки в выражении;

collect – выносит общий множитель за скобки;

subs – подстановка числовых значений вместо символьных.

Формат записи для всех команд одинаков:

vol2 = command(vol1), где vol1 – преобразуемая переменная, vol2 – переменная, в которую будет записан результат преобразования, command – одна из указанных выше команд.

diff – дифференцирование выражения. Формат записи:
diff(vol1, n), где n – порядок дифференцирования;

int – интегрирование выражения. Формат записи: int(vol1,a,b), где a и b – верхний и нижний пределы интегрирования, в случае нахождения определенного интеграла;

limit – нахождение предела выражения. Формат записи:
limit(vol1,x,a,’ident’), где x – имя переменной которая стремится к пределу, a – численное значение, к которому стремится переменная x, ident – может принимать значения left и right, т.е. это указание, в какую сторону стремится величина x – направление для односторонних пределов.

Практическое применение:

Пример №1: Необходимо задать выражение A = (x*2+y^3-3*z)*3*x+4*y^3, упростить его и определить значение A в точке (1,2,1).

Выполняется следующим образом:

% после выполнения этой команды в рабочей области (workspace появятся три символьные переменные x, y и z

% результат выполнения команды:

% показывает как выражение было занесено в переменную А. В отдельных случаях, когда возможно упростить вводимое выражение, оно будет упрощено и выдано на экран уже в упрощенном виде. Как видно из результата применения команды, все составляющие в скобке были помножены на 3.

% для дополнительного контроля можно применить команду

% результат ее применения:

% (6 x + 3 y — 9 z) x + 4 y

% раскрываем скобки, запоминаем результат в переменной А1

% результат: A1 = 6*x^2+3*x*y^3-9*x*z+4*y^3

% группируем переменные в выражении А1 и выносим общие множители за скобки. Результат: A2 = 6*x^2+(3*y^3-9*z)*x+4*y^3

% задаем значения переменных x, y и z соответственно заданной точке (1,2,1). при этом в рабочей области появятся уже числовые переменные с соответствующими значениями.

% подставляем численные значения в наше выражение, получаем результат:

% Возможно присваивание численных значений только части символьных переменных выражения. Для иллюстрации этого вернем переменные x, y и z в символьный вид:

% результат в этом случае: A3 = 62-9*z

Пример №2: Необходимо решить независимые уравнения
x+20=10, 3*x^2+2*x-10=0 и 4*x+5*x^3=-12.

Выполняется следующим образом:

1 уравнение:

2 уравнение:

% MATLAB выдал два корня уравнения в неупрощенном виде, для их упрощения необходимо повторить ответ в командном окне (скопировать его и заново ввести в командное окно)

3 уравнение:

Пример №3: Необходимо решить независимые уравнения
x+y=35, 3*x^2+2*y=0 и 4*x+5*y^3=-12 относительно переменной x.

Выполняется следующим образом:

1 уравнение:

2 уравнение:

3 уравнение:

Пример №4: Необходимо найти неопределенный интеграл и дифференциал выражения 3*a^5*sin(a).

Выполняется следующим образом:

Пример №5: Необходимо найти определенный интеграл выражения 3*a^5*sin(a), для пределов от -10 до 100.

Выполняется следующим образом:

Пример №6: Необходимо продифференцировать выражение 3*a^5*sin(a) четыре раза.

Выполняется следующим образом:

Пример №7: Необходимо получить передаточную функцию трех последовательно соединенных звеньев: , и . А также определить передаточную функцию замкнутой системы, состоящей из звеньев W1, W2 и W3 – в прямой ветви, и звена – в обратной связи, при условии отрицательной обратной связи.

Понравилась статья? Поделить с друзьями:
  • Sims 4 при установке выдает ошибку
  • Sims 4 ошибки обнаруженные mccc
  • Sims 4 ошибка при запуске игра уже запущена
  • Sims 4 ошибка при запуске 135dec40 3fbbecd0 00000064 00000000
  • Sims 4 ошибка инициализации 135dec40 90f690cf