Filter löschen
Filter löschen

How can I use syms like theta_(i-1)?

7 Ansichten (letzte 30 Tage)
서호 이
서호 이 am 12 Apr. 2023
Kommentiert: 서호 이 am 25 Apr. 2023
I like to express theta_(i-1) in matlab like theta_i, how can I solve this?
If i use 'theta_i_minus_1' results theta_(i,1) ...

Akzeptierte Antwort

Walter Roberson
Walter Roberson am 12 Apr. 2023
Unfortunately, the current notation does not support subscripts that are general expressions. The current notion supports only (groups of) A to Z and a to z and 0 to 9 as subscripts (does not support underscore in a subscript), with multiple subscripts automatically being spliced together with commas.
I was going to say that "You can have multiple annotations on the main variable but you cannot have annotations on the subscripts. You cannot, for example, construct (theta x double dot)" but that turns out to be at least partly wrong
syms theta_ddot_x theta_x_ddot theta__ddot_x theta_ddot__x theta__ddot__x theta_x_ddot theta_x__ddot theta__x_ddot theta__x__ddot
[theta_ddot_x theta_x_ddot theta__ddot_x theta_ddot__x theta__ddot__x theta_x_ddot theta_x__ddot theta__x_ddot theta__x__ddot]
ans = 
  3 Kommentare
Walter Roberson
Walter Roberson am 14 Apr. 2023
parts = ["theta", "x", "ddot"];
j = ["_", "__"];
orders = [1 2 3; 1 3 2; 2 1 3; 2 3 1; 3 1 2; 3 2 1];
for oidx = 1 : size(orders,1)
tp = parts(orders(oidx,:));
s = [tp(1) + j(1) + tp(2) + j(1) + tp(3), ...
tp(1) + j(1) + tp(2) + j(2) + tp(3), ...
tp(1) + j(2) + tp(2) + j(1) + tp(3), ...
tp(1) + j(2) + tp(2) + j(2) + tp(3)];
disp(s); disp(sym(s));
end
"theta_x_ddot" "theta_x__ddot" "theta__x_ddot" "theta__x__ddot"
"theta_ddot_x" "theta_ddot__x" "theta__ddot_x" "theta__ddot__x"
"x_theta_ddot" "x_theta__ddot" "x__theta_ddot" "x__theta__ddot"
"x_ddot_theta" "x_ddot__theta" "x__ddot_theta" "x__ddot__theta"
"ddot_theta_x" "ddot_theta__x" "ddot__theta_x" "ddot__theta__x"
"ddot_x_theta" "ddot_x__theta" "ddot__x_theta" "ddot__x__theta"
서호 이
서호 이 am 25 Apr. 2023
Thank you for your effort! I learned more about this :)

Melden Sie sich an, um zu kommentieren.

Weitere Antworten (0)

Tags

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by