Добавьте индексы, верхние индексы и диакритические знаки к символьным переменным

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

Добавьте индексы и верхние индексы

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

syms F_a F_b
Ftot = F_a + F_b
Ftot = Fa+Fb

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

Fa = sym('F_a')
Fa = Fa

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

syms F__a F__b
Ftot = F__a + F__b
Ftot = Fa+Fb

Когда вы присваиваете символьные переменные выражению, символьное выражение отображено в формате 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¨=0

Когда вы вычисляете сопряженное комплексное число символьной переменной с диакритическим знаком, обозначение панели добавляется выше переменной. Например, найдите сопряженное комплексное число x_dot с помощью функции conj.

xConj = conj(x_dot)
xConj = x˙

Поддерживаемые суффиксы диакритического знака для символьных переменных следуют.

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

(\astx*шляпаxˆтильдаxvecxпанельxubarxточкаx˙ddotx¨tdotx  ⃛qdotx  ⃜\primexdprimextprimexqprimex)

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

conjVar = accentList(:,2)'
conjVar = 

(x*xˆxxxxx˙x¨x  ⃛x  ⃜xxxx)

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

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

(x*xˆxxxxx˙x¨x  ⃛x  ⃜xxxx)

Добавьте несколько индексов, верхних индексов и диакритических знаков

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

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

x1 = sym('x_b_1__a__1')
x1 = xb,1a,1
x2 = sym('x__b_1_a__1')
x2 = x1,ab,1

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

v1 = sym('v_prime_vec')
v1 = 

v

v2 = sym('v_vec_prime')
v2 = 

v

va = sym('v__a_bar_prime')
va = va
vb = sym('v_bar__b_prime')
vb = vb

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

syms F_t__a
F1 = F_t__a
F1 = Fta
F2 = sym('F_t__a')
F2 = Fta
F3 = sym('F__a_t')
F3 = Fta

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

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

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

Похожие темы