matlab - 八度积分不使用符号变量评估定积分
问题描述
我正在尝试使用符号 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
即原始积分与它里面的功能。
我尝试通过以下方式解决问题:
- 从 Octave int() 帮助页面复制/粘贴示例代码,这可以工作并评估定积分
- 将集成语法从 0, t 更改为 [0, t] 这不会改变
- 制作变量 f 并将函数存储在那里,而不是函数在 int() 中。这没有任何改变
我知道符号包正在工作,因为示例代码返回正确的定积分。
谢谢。
解决方案
您可以使用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
推荐阅读
- node.js - 在 Node.js 中从 PostgreSQL 读取数据
- css - 如何在 React Bootstrap 中使 div 可单独滚动
- node.js - 当我使用 Pdfkit 创建第二个 PDF 时,此文件已损坏。ExpressJS
- node.js - 以具有 root 权限的用户身份启动 PM2 进程
- debugging - Android Studio IDE - 调试步骤进入/过度崩溃应用程序
- php - Html/Php 输入类型字段标签/列表
- prediction - 当训练和预测数据集分开时如何预测分类数据?
- python - 如何在python中将电子邮件地址的第一个单词更改为大写
- django - Django razorpay:付款完成后如何获取订单ID
- xml - 限制 XML Schema 中的值