为定积分构建了一个循环

时间:2015-09-15 20:19:20

标签: matlab

我正在尝试为0y构建一个定义积分的循环,0.1y=0的步骤为y=20,并为图中的每个循环迭代(变化y)。

int(2.906663106*x*(1/(1+1.38*x^4))^.4311594203 - 3.458929096*x^5/((1/(1+1.38*x^4))^.5688405797*(1+1.38*x^4)^2))

1 个答案:

答案 0 :(得分:1)

您可以使用Matlab的integral函数并在for循环中运行

val = zeros(1,201);

y_step  = 0.1;
y_max   = 20;

count   = 1;

for yy = 0:y_step:y_max

    fun = @(x) (2.906663106 .* x .* (1 ./ (1 + 1.38 .* x.^4)).^0.4311594203 - 3.458929096 .* x.^5 ./ ((1 ./ (1 + 1.38 .* x.^4)).^0.5688405797 .* (1 + 1.38 .* x.^4).^2));
    intgrl = integral(fun, 0, yy);

    val(count) = intgrl;
    count = count + 1;
end 

figure
plot(val)

[0, yy]保存的循环中,您将获得val范围内积分的每个值。

编辑:由于评论中有更详细的问题,编辑了答案。