MATLAB - 执行多个集成

时间:2015-11-12 04:37:08

标签: matlab integration

我正试图模拟由于施加的力而在梁中的偏转。基本上这是一个函数的三重积分。我尝试使用函数句柄。

u = @(x) x>=0; %unit step function
V = @(x) u(x-a)*F_a + u(x-b)*F_b + u(x-c)*F_c;
M = @(x) integral(V,0,x,'ArrayValued',true);
S = @(x) integral(M,0,x,'ArrayValued',true);
D = @(x) integral(D,0,x,'ArrayValued',true);

计算M很好,但可以预见,任何后面的函数都需要不可思议的长时间来计算。我假设这是因为每个积分在累计太多计算之前递归调用积分。

如果没有ArrayValued参数,我会收到错误"Error using integral (line 85) A and B must be floating-point scalars."

奖金问题:积分正在给我这个警告: "Warning: Minimum step size reached near x = 320.5. There may be a singularity, or the tolerances may be too tight for this problem.我将如何解决这个问题?

提前致谢

0 个答案:

没有答案