sympref

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

Синтаксис

oldVal = sympref(pref,value)
oldVal = sympref(pref)
oldPrefs = sympref(prefs)
oldPrefs = 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 π ) и 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 = 

потому что(σ1)+журнал(σ1)+sin(σ1)+загар(σ1)+1σ1где  σ1=ax3+bx2+cx+d

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

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

потому что(ax3+bx2+cx+d)+журнал(ax3+bx2+cx+d)+sin(ax3+bx2+cx+d)+загар(ax3+bx2+cx+d)+1ax3+bx2+cx+d

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

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

Выключите набор путем установки настройки '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=0

Найдите решения уравнения с помощью solve.

sols = solve(eq,x)
sols = 

(-22000000-π2-20002π22000000-π2+20002π)

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

oldVal = sympref('FloatingPointOutput',true);
eq
eq = x2-636.6198x+0.5000=0
sols
sols = 

(7.8540e-04636.6190)

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

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

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

(0.00078539913636.61899)

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

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

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

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

sympref('PolynomialDisplayStyle','ascend');
p1
p1 = 2+y3+a2x+b2x2

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

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

sympref('PolynomialDisplayStyle','descend');
p1
p1 = b2x2+a2x+y3+2

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

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

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

(xy24y2)

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

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

[xy24y2]

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

sympref('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');

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

свернуть все

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

PreferenceЗначениеОписание
'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).

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

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

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

'PolynomialDisplayStyle'

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

Значение по умолчанию: 'default'.

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

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

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

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

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

'MatrixWithSquareBrackets'

Логическое значение (булевская переменная).

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

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

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

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

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

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

свернуть все

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

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

Советы

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

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

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

Представленный в R2015a