Применить функцию к символическим подобъектам определенного типа
применяет функцию X = mapSymType(symObj,type,func)func к символическим подобъектам типа type в символическом объекте symObj. Область входа type должен быть строковым скаляром с учетом регистра или вектором символов, и может включать логическое выражение.
Если symObj содержит несколько подэкспрессий типа type, затем mapSymType применяет функцию func на самую большую подэкспрессию.
применяет функцию X = mapSymType(symObj,funType,vars,func)func к неназначенным символьным функциям, которые зависят от переменных vars в символическом объекте symObj.
Можно задать тип функции funType на 'symfunOf' или 'symfunDependingOn'. Для примера, syms f(x); mapSymType(f,'symfunOf',x,@(u)cos(u)) возвращает cos(f(x)).
Создайте символическое выражение, которое содержит символьные числа с помощью sym.
expr = sym('2') + 1i*piexpr =
Создайте указатель на функцию, который вычисляет квадрат числа.
sq = @(y) y^2;
Применить функцию sq к символическому подобъекту типа 'integer' в выражении expr.
X = mapSymType(expr,'integer',sq)X =
Можно также применить существующую функцию MATLAB ®, такую как exp. Применить exp функцию к символическому подобъекту типа 'complex' в выражении expr.
X = mapSymType(expr,'complex',@exp)X =
Примените символьную функцию к конкретным подобъектам в символьном уравнении.
Создайте символьное уравнение.
syms x t eq = 0.5*x + sin(x) == t/4
eq =
Создайте символьную функцию, которая умножает вход на 2.
syms f(u)
f(u) = 2*u;Примените символическую функцию f к символическим подобъектам типа 'variable' в уравнении eq.
X = mapSymType(eq,'variable',f)X =
Символические переменные x и t в уравнении умножаются на 2.
Можно также применить ту же символическую функцию, которая создается с помощью symfun.
X = mapSymType(eq,'variable',symfun(2*u,u))X =
Теперь создайте неназначенную символическую функцию. Примените неназначенную функцию к символическим подобъектам типа 'sin' в уравнении eq.
syms g(u) X = mapSymType(eq,'sin',g)
X =
Преобразуйте самую большую символьную подэкспрессию определенного типа в выражение.
Создайте символическое выражение.
syms f(x) y expr = sin(x) + f(x) - 2*y
expr =
Применить log функцию к символическому подобъекту типа 'expression' в выражении expr.
X = mapSymType(expr,'expression',@log)X =
Когда существует несколько подэкспрессий типа 'expression', mapSymType применяет log функция на самую большую подэкспрессию.
Преобразуйте неназначенные символьные функции с определенными зависимостями переменных в выражение.
Создайте символическое выражение.
syms f(x) g(t) h(x,t) expr = f(x) + 2*g(t) + h(x,t)*sin(x)
expr =
Создайте указатель на функцию, который преобразует вход в символьную переменную с именем 'z'.
func = @(obj) sym('z');Примените функцию преобразования func к неназначенным символьным функциям в выражении expr.
Преобразуйте функции, которые зависят от точной последовательности переменных [x t] использование 'symfunOf'.
X = mapSymType(expr,'symfunOf',[x t],func)X =
Преобразуйте функции, которые имеют зависимость от переменной t использование 'symfunDependingOn'.
X = mapSymType(expr,'symfunDependingOn',x,func)X =
Удалите переменную зависимости неприсоединенных символьных функций в символьном массиве.
Создайте символьный массив, состоящий из нескольких уравнений.
syms f1(t) f2(t) g1(t) g2(t) eq = [f1(t) + f2(t) == 0, f1(t) == 2*g1(t), g1(t) == diff(g2(t))]
eq =
Применить symFunType функция для замены неназначенной символьной функции на переменную с таким же именем.
Найдите все функции, которые имеют зависимость от переменной t использование 'symfunOf' и преобразовать их, используя symFunType.
X = mapSymType(eq,'symfunOf',t,@symFunType)X =
Создайте символическое выражение. Найдите его обратное преобразование Лапласа.
syms s;
G = (s+10)/(s^2+2*s+4)/(s^2-4*s+1);
expr = ilaplace(G)expr =
Результат с точки зрения exp, sin, cos, sinh, и cosh функций.
Переписать sinh и cosh в результате как exp. Использование mapSymType для применения rewrite функции к подэкспрессиям, которые содержат sinh или cosh.
expr = mapSymType(expr,"sinh|cosh",@(subexpr) rewrite(subexpr,"exp"))
expr =
symObj - Символические объектыСимволические объекты, заданные в виде символьных выражений, символьных функций, символьных переменных, символьных чисел или символьных модулей.
type - Символические типыСимволические типы, заданные как чувствительная к регистру скалярная строка или вектор символов. Область входа type может содержать логическое выражение. Далее приводятся опции значения.
| Категория символического типа | Строковые значения |
|---|---|
| числа |
|
| константы | 'constant' - символьные математические константы, включая 'number' |
| символьные математические функции | 'vpa', 'sin', 'exp', и так далее - символьные математические функции в символьных выражениях |
| неназначенные символьные функции |
|
| арифметические операторы |
|
| переменные | 'variable' - символьные переменные |
| модули | 'units' - символические модули |
| выражения | 'expression' - символические выражения, включая все предыдущие символические типы |
| логические выражения |
|
| уравнения и неравенства |
|
| неподдерживаемые символические типы |
|
func - Входная функцияВходная функция, заданная как указатель на функцию или символьная функция. Для получения дополнительной информации о указателях на функцию и символьной функции, см., Создают указатель на функцию и symfun, соответственно.
Если symObj содержит несколько подэкспрессий типа type, затем mapSymType применяет функцию func к самой большой подэкспрессии (самый верхний соответствующий узел в древовидной структуре данных).
funType - Тип функции'symfunOf' | 'symfunDependingOn'Тип функции, заданный как 'symfunOf' или 'symfunDependingOn'.
'symfunOf' применяется func к неназначенным символьным функциям, которые зависят от точной последовательности переменных, заданных массивом vars. Для примера, syms f(x,y); mapSymType(f,'symfunOf',[x y],@(g)g^2) возвращает f(x,y)^2.
'symfunDependingOn' применяется func к неназначенным символьным функциям, которые имеют зависимость от переменных, заданных массивом vars. Для примера, syms f(x,y); mapSymType(f,'symfunDependingOn',x,@(g)g/2) возвращает f(x,y)/2.
vars - Входные переменныеВходные переменные, заданные как символьные переменные или символьный массив.
findSymType | hasSymType | isSymType | str2sym | sym | symfun | symFunType | syms | symType
У вас есть измененная версия этого примера. Вы хотите открыть этот пример с вашими правками?
1. Если смысл перевода понятен, то лучше оставьте как есть и не придирайтесь к словам, синонимам и тому подобному. О вкусах не спорим.
2. Не дополняйте перевод комментариями “от себя”. В исправлении не должно появляться дополнительных смыслов и комментариев, отсутствующих в оригинале. Такие правки не получится интегрировать в алгоритме автоматического перевода.
3. Сохраняйте структуру оригинального текста - например, не разбивайте одно предложение на два.
4. Не имеет смысла однотипное исправление перевода какого-то термина во всех предложениях. Исправляйте только в одном месте. Когда Вашу правку одобрят, это исправление будет алгоритмически распространено и на другие части документации.
5. По иным вопросам, например если надо исправить заблокированное для перевода слово, обратитесь к редакторам через форму технической поддержки.