gpt4 book ai didi

matlab - 如何在 MATLAB 和 WolframAlpha 中计算函数与自身的卷积?

转载 作者:太空宇宙 更新时间:2023-11-03 20:13:23 25 4
gpt4 key购买 nike

我正在尝试计算

的卷积
x(t) = 1, -1<=t<=1
x(t) = 0, outside

自身使用定义。

http://en.wikipedia.org/wiki/Convolution

我知道如何使用 Matlab 函数 conv,但我想使用积分定义。我对 Matlab 和 WolframAlpha 的了解非常有限。

最佳答案

我自己仍在学习 Mathematica,但这是我想出的..

首先我们定义分段函数(我使用维基百科页面的例子)

f[x_] := Piecewise[{{1, -0.5 <= x <= 0.5}}, 0]

piecewise_function

让我们绘制函数:

Plot[f[x], {x, -2, 2}, PlotStyle -> Thick, Exclusions -> None]

function_plot

然后我们编写定义f与自身卷积的函数:

g[t_] = Integrate[f[x]*f[t - x], {x, -Infinity, Infinity}]

convolution_integral

和情节:

Plot[g[t], {t, -2, 2}, PlotStyle -> Thick]

convolution_plot


编辑

我尝试在 MATLAB/MuPad 中做同样的事情,但没有那么成功:

f := x -> piecewise([x < -0.5 or x > 0.5, 0], [x >= -0.5 and x <= 0.5, 1])

func_def

plot(f, x = -2..2)

func_plot

然而,当我尝试计算积分时,几乎花了一分钟才返回:

g := t -> int(f(x)*f(t-x), x = -infinity..infinity)

convolution

剧情(也太长了)

plot(g, t = -2..2)

convolution_plot

请注意,同样可以在 MATLAB 内部使用以下语法完成:

evalin(symengine,'<MUPAD EXPRESSIONS HERE>')

关于matlab - 如何在 MATLAB 和 WolframAlpha 中计算函数与自身的卷积?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7409395/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com