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 как формула, не оценивая операции при помощи displayFormulaS в symstr заменяется его значением.

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

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

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

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

double(subs(expr))
ans = 3.5403

Задайте строку, которая представляет формулу корней квадратного уравнения с коэффициентами aB, и 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

Отобразите формулу корней квадратного уравнения снова, заменив aB, и 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 заменять aB, и 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