我有以下内容:
syms As(s) F0 alpha beta m1 m3
As(s) = ((F0*(alpha-beta)/(2*(s^2+(alpha-beta)^2)))-(F0*(alpha+beta)/(2*(s^2+(alpha+beta)^2))))/(m1+m3);
m1 = 1; % [kg]
m3 = 1; % [kg]
famp = 0.5; % [N]
scale = 0.01;
F0 = famp*scale; % [N]
alpha = 0.2;
beta = 0.15;
subs(As,{m1,m3,F0,alpha,beta},{m1,m3,F0,alpha,beta});
将标量值代入
As(s)
后,As(s)
仍为:
为什么 MATLAB 不将我指定的值替换为
As(s)
?
使用 syms 定义了您的符号变量。
MATLAB中的syms函数用于创建符号变量。这些变量用于符号数学运算。
syms s m c k m1 m3 F0 alpha beta
As = ((F0*(alpha-beta)/(2*(s^2+(alpha-beta)^2)))-(F0*(alpha+beta)/(2*(s^2+
(alpha+beta)^2))))/(m1+m3);
m_val = 1; % [kg]
c_val = 2; % [kg/s]
k_val = 2; % [N/m]
m1_val = 1; % [kg]
m3_val = 1; % [kg]
famp = 0.5; % [N]
scale = 0.01;
F0_val = famp * scale; % [N]
alpha_val = 0.2;
beta_val = 0.15;
As_subs = subs(As, {m, c, k, m1, m3, F0, alpha, beta}, {m_val, c_val,
k_val, m1_val, m3_val, F0_val, alpha_val, beta_val});
As_simplified = simplify(As_subs);
disp(As_simplified);