我正在关注 MathWorks 的本教程
与视频中相同的代码部分的行为与预期不同。我试图用 HOLDER_list 中的符号表达式替换简单方程中的偏微分表达式。它似乎适用于第一对:
THE_X
和x
,但是当涉及到第二个热值时,diff(x,t)
被替换为0
而不是我所期望的THE_XD
。
这是代码:
clear
syms m k b F
syms t x(t)
syms THE_X THE_XD THE_XDD
HOLDER_list = [THE_X,THE_XD,THE_XDD];
actual_list = [x, diff(x,t), diff(x,t,2)];
v =diff(x,t)
v_new = subs(v, actual_list, HOLDER_list)
HOLDER_list 和actual_list 中指定的顺序似乎存在问题。此外,出现在 subs 函数中的变量必须位于元胞数组中。这对我有用:
clear
syms m k b F
syms t x(t)
syms THE_X THE_XD THE_XDD
HOLDER_list = {THE_X,THE_XD,THE_XDD};
actual_list = {x, diff(x,t), diff(x,t,2)};
v = diff(x,t)
v_new = subs(v, fliplr(actual_list), fliplr(HOLDER_list))