На этой странице показано, как создавать символьные числа, переменные и выражения. Сведения о работе с символьной математикой см. в разделе Выполнение символьных вычислений.
Можно создать символьные числа с помощью sym. Символические числа являются точными представлениями, в отличие от чисел с плавающей запятой.
Создание символического числа с помощью sym и сравните его с одним и тем же числом с плавающей запятой.
sym(1/3) 1/3
ans =
1/3
ans =
0.3333Символическое число представлено в точном рациональном виде, тогда как число с плавающей запятой является десятичным приближением. Символический результат не является отступом, а стандартный результат MATLAB ® - отступом.
Расчеты по символическим числам являются точными. Продемонстрируйте эту точность, найдя sin(pi) символически и численно. Символический результат является точным, а числовой - аппроксимацией.
sin(sym(pi)) sin(pi)
ans = 0 ans = 1.2246e-16
Дополнительные сведения о символьном представлении чисел см. в разделе Преобразование чисел в символы.
Можно создать символьные переменные, используя syms или sym. Типичное использование этих функций включает в себя:
sym - Создание пронумерованных символьных переменных или создание символьных переменных в функциях MATLAB.
syms - создание новых символьных переменных для интерактивных символьных рабочих процессов, т.е. для создания символьных переменных в командной строке MATLAB или в сценариях MATLAB. Свежая символическая переменная не имеет никаких предположений.
syms shorthand для команды sym синтаксис, но две функции обрабатывают предположения по-разному. Дополнительные сведения см. в разделе Повторное использование имен символических объектов.
Создание символьных переменных x и y использование syms и symсоответственно.
syms x
y = sym('y')Первая команда создает символьную переменную x в рабочей области MATLAB со значением x назначено переменной x. Вторая команда создает символьную переменную y со значением y.
С symsВ одной команде можно создать несколько переменных. Создание переменных a, b, и c.
syms a b c
Если требуется создать массив MATLAB из пронумерованных символьных переменных, syms синтаксис неудобен. Поэтому используйте sym для создания массива из множества пронумерованных символьных переменных.
Очистить рабочую область. Создание вектора строки, содержащего символьные переменные a1, ..., a20 и назначить его переменной MATLAB A. Отображение переменной в рабочей области MATLAB.
clear all A = sym('a', [1 20]) whos
A = [ a1, a2, a3, a4, a5, a6, a7, a8, a9, a10,... a11, a12, a13, a14, a15, a16, a17, a18, a19, a20] Name Size Bytes Class Attributes A 1x20 8 sym
A является 1около-20 массив из 20 символьных переменных.
Комбинируя sym и symsв рабочей области MATLAB можно создать несколько новых символьных переменных с соответствующими именами переменных.
Очистить рабочую область. Создание новых символьных переменных a1, ..., a10 и назначить им имена переменных MATLAB a1, ..., a10соответственно. Отображение переменных в рабочей области MATLAB.
clear all syms(sym('a', [1 10])) whos
Name Size Bytes Class Attributes a1 1x1 8 sym a10 1x1 8 sym a2 1x1 8 sym a3 1x1 8 sym a4 1x1 8 sym a5 1x1 8 sym a6 1x1 8 sym a7 1x1 8 sym a8 1x1 8 sym a9 1x1 8 sym
Рабочая область MATLAB содержит 10 переменных MATLAB, которые являются символьными переменными.
syms команда является удобным кратким описанием для sym синтаксис и его типичное использование заключается в создании новых символьных переменных для интерактивных символьных рабочих процессов. Используйте sym для создания следующего синтаксиса:
Символьные переменные в функциях MATLAB
Множество пронумерованных символьных переменных
Символьная переменная, значение которой отличается от имени в рабочей области MATLAB
Символическое число, например sym(5)
Символьная переменная, наследующая предположения от ранее использовавшейся символьной переменной с тем же именем
Предположим, вы хотите использовать символическую переменную для представления золотого отношения
Команда
phi = (1 + sqrt(sym(5)))/2;
достигает этой цели. Теперь можно выполнять различные математические операции над phi. Например,
f = phi^2 - phi - 1
прибыль
f = (5^(1/2)/2 + 1/2)^2 - 5^(1/2)/2 - 3/2
Теперь предположим, что вы хотите изучить квадратичную функцию f = ax2 + bx + c. Сначала создайте символьные переменные a, b, c, и x:
syms a b c x
Затем назначьте выражение f:
f = a*x^2 + b*x + c;
Совет
Чтобы создать символическое число, используйте sym команда. Не используйте syms для создания символьного выражения, являющегося константой. Например, чтобы создать выражение, значение которого равно 5, введите f = sym(5). Команда f = 5 не определяет f как символическое выражение.
Если задать переменную, равную символьному выражению, а затем применить syms команда для переменной, программа MATLAB удаляет ранее определенное выражение из переменной. Например,
syms a b f = a + b
прибыль
f = a + b
Если позже вы вводите
syms f f
затем MATLAB удаляет значение a + b из выражения f:
f = f
Вы можете использовать syms для очистки переменных определений, назначенных ранее в сессии MATLAB. syms очищает предположения переменных: комплексных, вещественных, целых и положительных. Эти предположения хранятся отдельно от символического объекта. Однако повторное создание переменной с помощью sym не проясняет его предположения. Дополнительные сведения см. в разделе Удаление символических объектов и их допущений.