Добавьте индексы, суперскрипты и акценты к символьным переменным в Live Editor

Начиная с R2019a, MATLAB Live Editor отображает символьные переменные с нижними индексами, суперскриптами и акцентами в стандартном математическом обозначении. В этом примере показано, как добавить индексы, суперскрипты и акценты к символьным переменным в MATLAB ® Live Editor.

Добавление индексов и суперскриптов

Чтобы добавить индексы к символьным переменным в live скриптах, добавьте соответствующий индекс к переменной, используя один символ подчеркивания (_). Для примера создайте две символьные переменные с нижними индексами, используя syms. Используйте эти переменные в выражении.

syms F_a F_b
Ftot = F_a + F_b
Ftot = Fa+FbF_a + F_b

Можно также использовать sym чтобы создать символьную переменную с индексом и назначить ее символьному выражению.

Fa = sym('F_a')
Fa = FaF_a

Чтобы добавить суперскрипты к символьным переменным, добавьте соответствующий индекс к переменной с помощью двух подчеркиваний (__). Для примера создайте две символьные переменные с суперскриптами.

syms F__a F__b
Ftot = F__a + F__b
Ftot = Fa+FbF __ a + F __ b

Когда вы присваиваете символьные переменные выражению, символическое выражение отображается в формате ASCII.

Добавление акцентов

Чтобы добавить акценты к символьным переменным в live скриптах, добавьте соответствующий суффикс к переменной, используя символ подчеркивания (_). Например, создайте символьные переменные с одной точкой и двумя точками над символом x. Используйте эти переменные в уравнении.

syms x x_dot x_ddot c m k
eq1 = m*x_ddot - c*x_dot + k*x == 0
eq1 = kx-cx˙+mx¨=0k * x - c * x _ dot + m * x _ ddot = = 0

При вычислении комплексного сопряжения символьной переменной с акцентом над переменной добавляется штриховое обозначение. Для примера найдите комплексный сопряженный с x_dot использование conj функция.

xConj = conj(x_dot)
xConj = x˙conj (x_dot)

Далее следуют поддерживаемые суффиксы акцента для символьных переменных.

suffix = ["ast"; "hat"; "tilde"; "vec"; "bar"; ...
   "ubar"; "dot"; "ddot"; "tdot"; "qdot"; ...
   "prime"; "dprime"; "tprime"; "qprime"];
accentList = [suffix, sym("x_" + suffix)]
accentList = 

(astx*hatxˆtildexvecxbarxubarxdotx˙ddotx¨tdotxqdotxprimexdprimextprimexqprimex)[аст, x_ast; шляпа, x_hat; тильда, x_tilde; vec, x_vec; бар, x_bar; убар, x_ubar; точка, x_dot; точка, x_ddot; tdot, x_tdot; qdot, x_qdot; prime, x_prime; dprime, x_dprime; tprime, x_tprime; qprime, x_qprime]

Когда вы вычисляете комплексное сопряженное транспонирование матрицы, содержащей символьные переменные, над каждой переменной также добавляется штриховое обозначение. Для примера найдите сопряженное транспонирование символьных переменных в accentList(:,2) использование ctranspose или ' функция.

conjVar = accentList(:,2)'
conjVar = 

(x*xˆxxxxx˙x¨xxxxxx)[союз (x_ast), союз (x_hat), союз (x_tilde), союз (x_vec), союз (x_bar), союз (x_ubar), союз (x_dot), союз (x_ddot), союз (x_tdot), союз (x_qdot), союз (x_prime), союз (x_dprime), союз (x_tprime), союз (x_qprime)]

Когда вы вычисляете несопряженное транспонирование матрицы, содержащей символьные переменные, отображаемый вывод остается неизменным. Для примера найдите неконъюгатное транспонирование символьных переменных в accentList(:,2) использование transpose или .' функция.

nonconjVar = accentList(:,2).'
nonconjVar = 

(x*xˆxxxxx˙x¨xxxxxx)[x_ast, x_hat, x_tilde, x_vec, x_bar, x_ubar, x_dot, x_ddot, x_tdot, x_qdot, x_prime, x_dprime, x_tprime, x_qprime]

Добавление нескольких индексов, суперскриптов и акцентов

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

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

x1 = sym('x_b_1__a__1')
x1 = xb,1a,1x_b_1__a__1
x2 = sym('x__b_1_a__1')
x2 = x1,ab,1x __ b _ 1 _ a __ 1

Теперь создайте символьные переменные с несколькими акцентами. Если вы добавляете несколько акцентов, то входные акценты назначаются слева направо ближайшей предыдущей переменной или индексу. Ниже приводятся некоторые примеры.

v1 = sym('v_prime_vec')
v1 = 

vv_prime_vec

v2 = sym('v_vec_prime')
v2 = 

vv_vec_prime

va = sym('v__a_bar_prime')
va = vav __ a _ bar _ prime
vb = sym('v_bar__b_prime')
vb = vbv_bar__b_prime

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

syms F_t__a
F1 = F_t__a
F1 = FtaF_t__a
F2 = sym('F_t__a')
F2 = FtaF_t__a
F3 = sym('F__a_t')
F3 = FtaF __ a _ t

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

TF_12 = isequal(F1,F2)
TF_12 = logical
   1

TF_23 = isequal(F2,F3)
TF_23 = logical
   0

Похожие темы