exponenta event banner

displayFormula

Отображение символьной формулы из строки

Описание

пример

displayFormula(symstr) отображает символьную формулу из строки symstr без оценки операций. Все переменные рабочей области, указанные в symstr заменяются их значениями.

пример

displayFormula(symstr,old,new) заменяет только выражение или переменную old с new. Выражения или переменные, отличные от old не заменяются их значениями.

Примеры

свернуть все

Создайте матрицу 3 на 3. Умножьте матрицу на скалярный коэффициент K^2.

syms K A
A = [-1, 0, 1; 1, 2, 0; 1, 1, 0];
B = K^2*A
B = 

(-K20K2K22K20K2K20)[-K^2, sym(0), K^2; K^2, 2*K^2, sym(0); K^2, K^2, sym(0)]

Результат автоматически показывает выполняемое умножение по элементам.

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

displayFormula("F = K^2*A")

F=K2(-101120110)F == K^2*[(-sym(1)), sym(0), sym(1); sym(1), sym(2), sym(0); sym(1), sym(1), sym(0)]

Определите строку, описывающую дифференциальное уравнение.

S = "m*diff(y,t,t) == m*g-k*y";

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

symstr = ["'The equation of motion is'"; S;"'where k is the elastic coefficient.'"];
displayFormula(symstr)
The equation of motion isThe equation of motion is

m2t2 y=mg-kym*diff(y, t, 2) == m*g - k*y

where k is the elastic coefficient.where k is the elastic coefficient.

Создание строки S представляет символическое выражение.

S = "exp(2*pi*i)";

Создать другую строку symstr который содержит S.

symstr = "1 + S + S^2 + cos(S)"
symstr = 
"1 + S + S^2 + cos(S)"

Показ symstr как формула без оценки операций с помощью displayFormula. S в symstr заменяется его значением.

displayFormula(symstr)
1+e2πi+e2πi2+cos(e2πi)1 + exp(2*sym(pi)*sym(1i)) + (exp(2*sym(pi)*sym(1i)))^sym(2) + cos(exp(2*sym(pi)*sym(1i)))

Оценка строк S и symstr в качестве символьных выражений, используйте str2sym.

S = str2sym(S)
S = 1sym(1)
expr = str2sym(symstr)
expr = S+cos(S)+S2+1S + cos(S) + S^2 + 1

Заменить переменную S с его значением с помощью subs. Вычислить результат с двойной точностью с помощью double.

double(subs(expr))
ans = 3.5403

Определение строки, представляющей квадратичную формулу с коэффициентами a, b, и c.

syms a b c k
symstr = "a*x^2 + b*x + c";

Отображение квадратичной формулы, замена a с k.

displayFormula(symstr,a,k)
kx2+bx+ck*x^2 + b*x + c

Снова отобразить квадратичную формулу, заменив ее a, b, и c с 2, 3, и -1соответственно.

displayFormula(symstr,[a b c],[2 3 -1])
2x2+3x-12*x^2 + 3*x - 1

Чтобы решить квадратичное уравнение, преобразуйте строку в символьное выражение с помощью str2sym. Использовать solve чтобы найти нули квадратичного уравнения.

f = str2sym(symstr);
sol = solve(f)
sol = 

(-b+b2-4ac2a-b-b2-4ac2a)[-(b + sqrt(b^2 - 4*a*c))/(2*a); -(b - sqrt(b^2 - 4*a*c))/(2*a)]

Использовать subs заменять a, b, и c в решении с 2, 3, и -1соответственно.

solValues = subs(sol,[a b c],[2 3 -1])
solValues = 

(-174-34174-34)[- sqrt(sym(17))/4 - sym(3/4); sqrt(sym(17))/4 - sym(3/4)]

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

свернуть все

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

Можно также объединить строку, представляющую символическую формулу, с обычным текстом (заключенным в одинарные кавычки) в виде массива строк. Пример см. в разделе Отображение дифференциального уравнения.

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

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

См. также

| | | |

Представлен в R2019b