如何解决八度积分不评估带符号变量的定积分
我正在尝试使用符号int()函数求出卷积积分,而不是返回有用的答案,我的程序正在返回积分本身。这是我的代码
clc; clear;
pkg load symbolic
syms t tau Wn % Declare symbolic variables
f = tau^2 * sin( Wn *(t-tau) );
convolution = int( f,tau,[0 t] ); % Specify tau as the integration variable
% and integration limits are from 0 to t
pretty(convolution)
代码可以运行,但不会返回有用的信息。它不返回答案,而是返回以下内容:
t
⌠
⎮ 2
⎮ τ ⋅sin(Wn⋅t - Wn⋅τ) dτ
⌡
0
即原始积分及其内部的功能。
我已尝试通过以下方式对问题进行故障排除:
谢谢。
解决方法
您可以使用eval
来“评估”(duh)积分。例如。使用上面的代码,我得到:
octave:9> eval( convolution )
ans = (sym)
⎧ 2
⎪t 2⋅cos(Wn⋅t) 2
⎪── + ─────────── - ─── for Wn > -∞ ∧ Wn < ∞ ∧ Wn ≠ 0
⎨Wn 3 3
⎪ Wn Wn
⎪
⎩ 0 otherwise
请注意,如果您实际上在工作空间上“定义”了某些符号,则这些符号将被考虑在内:
octave:10> Wn = 1; % or preferably `sym('1')` ...
octave:11> eval( convolution )
ans = (sym)
2
t + 2⋅cos(t) - 2
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。