sympref

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

Описание

пример

oldVal = sympref(pref,value) устанавливает символьную настройку pref 'ToValue' и возвращает предыдущее значение настройки к 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 = 

cos(σ1)+log(σ1)+sin(σ1)+tan(σ1)+1σ1where  σ1=ax3+bx2+cx+dbecause(a*x^3 + b*x^2 + c*x + d) + журнал (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*x^2 + c*x + d)

Выключите сокращенный выходной формат путем установки '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+dbecause(a*x^3 + b*x^2 + c*x + d) + журнал (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*x^2 + c*x + d)

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

syms a b c d x 
f = exp(a^b)+pi
f = π+eabsym (пи) + 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 (пи) + sym (1/2) == 0

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

sols = solve(eq,x)
sols = 

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

Установите '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

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

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

свернуть все

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

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 ложь).

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

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

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

'PolynomialDisplayStyle'

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

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

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

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

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

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

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

'MatrixWithSquareBrackets'

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

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

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

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

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

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

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

свернуть все

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

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

Советы

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

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

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

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

Для просмотра документации необходимо авторизоваться на сайте