【问题标题】:How to define a function containing integrals?如何定义包含积分的函数?
【发布时间】:2021-06-12 19:29:09
【问题描述】:

我正在尝试在 MATLAB 中创建以下函数以用于绘图(见图)

这是我拥有的功能:

function M = diodeMultiplication(alpha, beta, x, w)

M = (exp(-int(alpha-beta,x,w)))./(1-(int(alpha.*exp(-int(alpha-beta,diff(x),w)),0,w));

end

其中 x 是常数(即 x = 0),w 是常数(即 w = 1.*10^-4),alpha 和 beta 是浮点值数组,它们是 E 的函数。

我想输入 alpha、beta、x 和 w 并绘制 E vs M。看起来像这样:

plot(E, diodeMultiplication(alpha, beta, x, w));

这个函数不会运行。有人有意见吗?谢谢。

【问题讨论】:

  • “函数没有运行” - 你能edit你的问题包含一个特定的错误信息吗?目前这太宽泛了,您在没有minimal reproducible example 或足够的信息来重现问题的情况下寻求调试帮助。
  • 根据documentationint 的第一个输入是符号表达式而不是数组。如果您想计算数值积分,您可以使用trapz(或其他数值积分函数)估计您的积分。目前您的示例不完整,Ealphabeta 是什么?提供示例输入和相应的所需输出。

标签: matlab plot integration


【解决方案1】:

您想要进行数值积分,因此请使用 integral 而不是 int

您还需要将alphabeta 定义为函数来执行此操作。这是通过将alpha 作为计算您提到的数组的函数来完成的,例如如果alpha=E.^2 则不是那个,而是输入alpha=@(x)(x.^2)integral

【讨论】:

    猜你喜欢
    • 2022-11-29
    • 2020-07-15
    • 2011-01-16
    • 2020-02-10
    • 1970-01-01
    • 2021-11-10
    • 2017-09-22
    • 1970-01-01
    • 2016-09-04
    相关资源
    最近更新 更多