【问题标题】:Calculating integrals on matlab在matlab上计算积分
【发布时间】:2015-09-02 15:36:18
【问题描述】:

如何计算积分的体积

x = sqr(siny), 0<=y<=pi, X = 0, y = 4`

我知道插入

int(sym('2*pi*sin(y)*exp(1/2)'),0,pi)

但我不知道如何设置界限。

【问题讨论】:

  • 你已经设置了界限......0,pi)....int(expr,var,a,b)计算expr相对于var的定积分,从ab跨度>
  • 我是 mat lab 的新手。我将如何绘制这个函数来找到积分的面积?
  • int 只查找整数值。为什么需要绘制这个图表?
  • @rayryeng 这个问题可能被认为“太简单”或类似的东西,但在我看来我们不应该忽视它。类似的问题每年都会大量涌现,但很少得到简单的答案或根本没有答案。我的观点是,一个好的答案可能确实对社区有所帮助。
  • @patrik 我并没有以任何方式忽视这一点。我只是想知道为什么需要图表。当然欢迎一个好的答案......我认为你只是误解了我的问题。

标签: matlab integral


【解决方案1】:

假设 Matlab 中的积分的工作方式与数学中积分运算符的工作方式相同,那么求解应该很简单。所以在数学中表达

I = int(f(x),a,b),

计算闭合边界[a,b] 之间的积分。 Matlab 等价物是

syms x;
a = 0; % Example values
b = pi;
y = x^2;
I = int(y,0,pi); % I is a sym.
IDouble = eval(I);

所以我仍然是一个符号,但如果你想要一个双精度值,你可以使用eval 评估表达式(这与用于eval('a=1;')eval 不同)。但是,数学表达式

F(x) = int(f(x)),

计算原始函数不定积分。相当于这个的matlab是

syms x;
y = x^2;
Y = int(y);

其中Yy 的原始函数。然后可以使用符号表达式ezplot 的绘图函数绘制它。尝试使用命令ezplot(Y,-1,6); 绘制上面的代码。至于假设Matlab在计算后自动绘制积分,你不应该那样做。 Matlab 主要是为复杂的函数创建的(可能没有解析解或者太长或太复杂的解无法手动完成)。这意味着数字/符号/绘图输出可能不一定是有意义的。有趣的输出可能是几个复杂计算的结果,这可能是唯一想要的输出。如果 Matlab 默认为每个步骤生成图,这将非常烦人。这也会损害 Matlab 作为通用编程语言的声誉。

【讨论】:

    猜你喜欢
    • 2021-06-20
    • 1970-01-01
    • 1970-01-01
    • 2021-09-05
    • 2018-03-25
    • 1970-01-01
    • 1970-01-01
    • 2011-08-17
    • 2015-09-18
    相关资源
    最近更新 更多