sympref

Установите символические настройки

Описание

пример

oldVal = sympref(pref,value) устанавливает символические выборы pref на value и возвращает предыдущее значение выбора в oldVal. Задать для выбора значение по умолчанию можно используя sympref(pref,'default').

Символические настройки могут повлиять на расчет символьных функций fourier, ifourier, и heaviside, и формат отображения символьного выхода.

пример

oldVal = sympref(pref) возвращает текущее значение pref.

пример

oldPrefs = sympref(prefs) устанавливает несколько символьные настройки к значениям в структуре prefs и возвращает предыдущие значения всех настроек к oldPrefs. Можно задать для всех символьных настроек их значения по умолчанию с помощью sympref('default').

пример

oldPrefs = sympref() возвращает текущие значения всех символьных настроек.

Примечание

Символические настройки сохраняются через последовательный MATLAB® сеансов. Открытие нового сеанса не восстанавливает настройки по умолчанию.

Примеры

свернуть все

F преобразования Фурье (w) f = f (t) есть

F(w)=cf(t)eiswtdt,

где c и s являются параметрами со значениями по умолчанию 1 и -1, соответственно. Другие общие значения для c являются 1/2 π и1/2π, и другие общие значения для s 1, -2 π и 2 π.

Найдите преобразование Фурье sin(t) с параметрами по умолчанию c и s параметры.

syms t w
F = fourier(sin(t),t,w)
F =
-pi*(dirac(w - 1) - dirac(w + 1))*1i

Найдите то же преобразование Фурье с c = 1/(2<reservedrangesplaceholder1> <reservedrangesplaceholder0> и s = 1. Установите значения параметров при помощи 'FourierParameters' выбор. Представьте π точно при помощи sym. Задайте значения c и s как вектор [1/(2*sym(pi)) 1]. Сохраните предыдущие значения, возвращенные sympref чтобы можно было восстановить их позже.

oldVal = sympref('FourierParameters',[1/(2*sym(pi)) 1])
F = fourier(sin(t),t,w)
oldVal =
[ 1, -1]

F =
(dirac(w - 1)*1i)/2 - (dirac(w + 1)*1i)/2

Настройки, которые вы задаете используя sympref сохраняются через текущие и будущие сеансы работы с MATLAB. Восстановите предыдущие значения c и s на oldVal.

sympref('FourierParameters',oldVal);

Также можно восстановить значения по умолчанию c и s путем определения 'default' опция.

sympref('FourierParameters','default');

В Symbolic Math Toolbox™ значение по умолчанию функции Heaviside в источник является 1/2. Верните значение heaviside(0). Найдите Z-преобразование heaviside(x) для этого значения по умолчанию heaviside(0).

syms x
H = heaviside(sym(0))
Z = ztrans(heaviside(x))
H =
1/2

Z =
1/(z - 1) + 1/2

Другие общие значения функции Heaviside в источник: 0 и 1. Набор heaviside(0) на 1 использование 'HeavisideAtOrigin' выбор. Сохраните предыдущее значение, возвращенное sympref чтобы можно было восстановить его позже.

oldVal = sympref('HeavisideAtOrigin',1)
oldVal =
1/2

Проверьте, является ли новое значение heaviside(0) равен 1. Найдите Z-преобразование heaviside(x) для этого значения.

H = heaviside(sym(0))
Z = ztrans(heaviside(x))
H =
1

Z =
1/(z - 1) + 1

Новый выход heaviside(0) изменяет выходы ztrans.

Настройки, которые вы задаете используя sympref сохраняются через текущие и будущие сеансы работы с MATLAB. Восстановите предыдущее значение heaviside(0) на oldVal.

sympref('HeavisideAtOrigin',oldVal);

Также можно восстановить значение по умолчанию 'HeavisideAtOrigin' путем определения 'default' опция.

sympref('HeavisideAtOrigin','default');

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

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

syms a b c d x 
f = a*x^3 + b*x^2 + c*x + d;
outputAbbrev = sin(f) + cos(f) + tan(f) + log(f) + 1/f
outputAbbrev = 

cos(σ1)+log(σ1)+sin(σ1)+tan(σ1)+1σ1where  σ1=ax3+bx2+cx+dcos (a * x ^ 3 + b * x ^ 2 + c * x + d) + log (a * x ^ 3 + b * x ^ 2 + c * x + d) + sin (a * x ^ 3 + b * x ^ 2 + c * x + d) + tan (a * x ^ 3 + b * x ^ 2 + c * x + d) + 1/( a * x ^ 3 + b)

Отключите сокращенный выход путем установки 'AbbreviateOutput' выбор false. Повторно отобразите выражение.

sympref('AbbreviateOutput',false);
outputLong = sin(f) + cos(f) + tan(f) + log(f) + 1/f
outputLong = 

cos(ax3+bx2+cx+d)+log(ax3+bx2+cx+d)+sin(ax3+bx2+cx+d)+tan(ax3+bx2+cx+d)+1ax3+bx2+cx+dcos (a * x ^ 3 + b * x ^ 2 + c * x + d) + log (a * x ^ 3 + b * x ^ 2 + c * x + d) + sin (a * x ^ 3 + b * x ^ 2 + c * x + d) + tan (a * x ^ 3 + b * x ^ 2 + c * x + d) + 1/( a * x ^ 3 + b)

Создайте другое символьное выражение и верните выход, который по умолчанию набран в математическом обозначении. Отключите визуализированный выход и используйте вместо этого вывод ASCII путем установки 'TypesetOutput' выбор false. Сначала отобразите выход набора типов.

syms a b c d x 
f = exp(a^b)+pi
f = π+eabsym (pi) + exp (a ^ b)

Отключите набор типов путем установки 'TypesetOutput' выбор false. Повторно отобразите выражение.

sympref('TypesetOutput',false);
f = exp(a^b)+pi
 
f =
 
pi + exp(a^b)
 

Настройки, которые вы задаете используя sympref сохраняются через текущие и будущие сеансы работы с MATLAB. Восстановите значения по умолчанию 'AbbreviateOutput' и 'TypesetOutput' путем определения 'default' опция.

sympref('AbbreviateOutput','default');
sympref('TypesetOutput','default');

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

Создайте квадратичное уравнение.

syms x
eq = x^2 - 2e3/sym(pi)*x + 0.5 == 0
eq = 

x2-2000xπ+12=0x ^ 2 - (2000 * x )/sym (pi) + sym (1/2) = = 0

Найдите решения уравнения используя solve.

sols = solve(eq,x)
sols = 

(-22000000-π2-20002π22000000-π2+20002π)[- (sqrt (sym (2)) * sqrt (2000000 - sym (pi) ^ 2) - 2000 )/( 2 * sym (pi)); (sqrt (sym (2)) * sqrt (2000000 - sym (pi) ^ 2) + 2000 )/( 2 * sym (pi))]

Установите 'FloatingPointOutput' выбор true. Отобразите квадратичное уравнение и его решения в формате с плавающей точкой.

sympref('FloatingPointOutput',true);
eq
eq = x2-636.6198x+0.5000=0x ^ 2 - vpa ('636.6198') * x + vpa ('0.5000') = = 0
sols
sols = 

(7.8540e-04636.6190)[vpa ('7.8540e-04'); vpa ('636.6190')]

Формат с плавающей точкой отображает каждое символьное число в коротком, десятичном, с фиксированным числом цифр 4 цифры после десятичного числа. Установка 'FloatingPointOutput' выбор не влияет на точность с плавающей точностью в символьных расчетах. Чтобы вычислить символьные числа с помощью арифметики с плавающей точкой, используйте vpa функция.

Теперь восстановите значение по умолчанию 'FloatingPointOutput' путем определения 'default' опция. Вычислите приближение решений с плавающей точкой в 8 значащих цифрах с помощью vpa.

sympref('FloatingPointOutput','default');
sols = vpa(sols,8)
sols = 

(0.00078539913636.61899)[vpa ('0.00078539913'); vpa ('636.61899')]

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

syms x y a b
p1 = b^2*x^2 + a^2*x + y^3 + 2
p1 = a2x+b2x2+y3+2a ^ 2 * x + b ^ 2 * x ^ 2 + y ^ 3 + 2

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

Теперь отобразите тот же полином в порядке возрастания путем установки выбора 'PolynomialDisplayStyle' на 'ascend'.

sympref('PolynomialDisplayStyle','ascend');
p1
p1 = 2+y3+a2x+b2x22 + y ^ 3 + a ^ 2 * x + b ^ 2 * x ^ 2

The 'ascend' опция сортирует выход в порядке возрастания на основе важности переменных. Здесь самая важная переменная x с наивысшим порядком в мономиальном выражении отображается последним.

Отобразите полином в порядке убывания путем установки 'PolynomialDisplayStyle' выбор 'descend'.

sympref('PolynomialDisplayStyle','descend');
p1
p1 = b2x2+a2x+y3+2b ^ 2 * x ^ 2 + a ^ 2 * x + y ^ 3 + 2

Настройки, которые вы задаете используя sympref сохраняются через текущие и будущие сеансы работы с MATLAB. Восстановите значение по умолчанию 'PolynomialDisplayStyle' путем определения 'default' опция.

sympref('PolynomialDisplayStyle','default');

По умолчанию символьная матрица в live скриптах задается в круглых скобках. Вместо этого можно задать использование квадратных скобок при помощи sympref.

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

syms x y
A = [x*y, 2; 4, y^2]
A = 

(xy24y2)[x * y, sym (2); sym (4), y ^ 2]

Отобразите матрицу с квадратными скобками путем установки 'MatrixWithSquareBrackets' выбор true.

sympref('MatrixWithSquareBrackets',true);
A
A = 

[xy24y2][x * y, sym (2); sym (4), y ^ 2]

Настройки, которые вы задаете используя sympref сохраняются через текущие и будущие сеансы работы с MATLAB. Восстановите значение по умолчанию путем определения 'default' опция.

sympref('MatrixWithSquareBrackets','default');

Вместо сохранения и восстановления индивидуальных настроек один за другим можно использовать sympref сохранение и восстановление всех символьных настроек одновременно.

Верните структуру, содержащую значения всех символьных настроек, используя sympref().

oldPrefs = sympref()
oldPrefs = 

  struct with fields:

           FourierParameters: [1×2 sym]
           HeavisideAtOrigin: [1×1 sym]
            AbbreviateOutput: 1
               TypesetOutput: 1
         FloatingPointOutput: 0
      PolynomialDisplayStyle: 'default'
    MatrixWithSquareBrackets: 0

Доступ к значению каждого символьного выбора путем обращения к полю структуры. Также можно использовать команду sympref(pref).

val1 = oldPrefs.FourierParameters
val2 = oldPrefs.HeavisideAtOrigin
val3 = sympref('FourierParameters')
val1 =
[ 1, -1]

val2 =
1/2

val3 =
[ 1, -1]

Чтобы изменять несколько символьных настроек одновременно, можно создать структуру prefs который содержит значения выборов. Используйте команду sympref(prefs) для установки нескольких настроек.

prefs.FourierParameters = [1/(2*sym(pi) 1]
prefs.HeavisideAtOrigin = 1
sympref(prefs);

Поскольку символические настройки сохраняются во время текущих и будущих сеансов работы с MATLAB, необходимо восстановить предыдущие настройки. Восстановите сохраненные настройки с помощью sympref(oldPrefs).

sympref(oldPrefs);

Кроме того, можно задать для всех символьных настроек значения по умолчанию, задав 'default' опция.

sympref('default');

Входные параметры

свернуть все

Символьные выборы, заданные как вектор символов или строка. Далее приводятся опции значения для каждого символьного выбора.

ВыборЗначениеОписание
'FourierParameters'

Двухэлементный вектор-строка [c,s]. Параметры c и s должны быть числовыми или символьными числами.

По умолчанию: sym([1,-1]).

Установите значения параметров c и s в преобразовании Фурье:

F(w)=cf(t)eiswtdt.

См. «Изменение значений параметров преобразования Фурье».

'HeavisideAtOrigin'

Скалярное значение, заданное в виде числового или символьного числа.

По умолчанию: sym(1/2).

Установите значение функции Heaviside heaviside(0) в источник.

См. Изменение значения функции Heaviside в источник.

'AbbreviateOutput'

Логическое значение (логическое).

По умолчанию: логический 1 (true).

Укажите, использовать ли сокращенный выход символьных переменных и выражений в Live скриптах.

См. «Изменение отображения символьных выражений в Live скриптах».

'TypesetOutput'

Логическое значение (логическое).

По умолчанию: логический 1 (true).

Набор или использование символов ASCII для выхода символьных переменных и выражений в Live скриптах.

См. «Изменение отображения символьных выражений в Live скриптах».

'FloatingPointOutput'

Логическое значение (логическое).

По умолчанию: логический 0 (false).

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

The true опция value отображает символьные результаты в коротком десятичном формате с фиксированным числом цифр 4 после десятичной точки.

См. «Отображение символьных результатов в формате с плавающей точкой».

'PolynomialDisplayStyle'

Вектор символов или скалярная строка, заданная как 'default', 'ascend', или 'descend'.

По умолчанию: 'default'.

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

  • The 'default' опция сортирует выход в алфавитном порядке, не выделяя различные символьные переменные в каждом мономиальном члене.

  • The 'ascend' опция сортирует выход в порядке возрастания на основе стандартного математического обозначения для полиномов. Для примера переменная x с наивысшим порядком в мономиальном термине отображается последним, предшествующим мономиальным терминам, которые содержат переменные y, z, t, sи так далее.

  • The 'descend' опция сортирует выход в порядке убывания на основе стандартного математического обозначения для полиномов. Эта опция прямо противоположен 'ascend'.

См. «Изменение выходного порядка символьного полинома».

'MatrixWithSquareBrackets'

Логическое значение (логическое).

По умолчанию: логический 0 (false).

Установите матрицы в круглые скобки или круглые скобки в Live скрипты.

См. «Изменение отображения символьной матрицы в Live скриптах».

Значение символического выбора, заданное как 'default' или допустимое значение указанного выбора pref.

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

Выходные аргументы

свернуть все

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

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

Совет

  • The clear команда не сбрасывается и не влияет на символьные настройки. Использовать sympref для манипулирования символьными настройками.

  • Символические настройки, которые вы задаете используя sympref также определите выход, сгенерированный latex и mathml функций.

  • Установка 'FloatingPointOutput' выбор влияет только на формат вывода символьных чисел. Чтобы изменить формат вывода числовых чисел, используйте format функция. Чтобы вычислить символьные числа с помощью точности с плавающей точкой, используйте vpa или digits функций.

Введенный в R2015a