将值代入符号函数 Matlab

问题描述 投票:0回答:1

我有以下内容:

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)
仍为: enter image description here

为什么 MATLAB 不将我指定的值替换为

As(s)

function matlab substitution symbolic-math
1个回答
0
投票

使用 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);
最新问题
© www.soinside.com 2019 - 2025. All rights reserved.