与限制相结合

时间:2014-07-30 14:53:11

标签: matlab

任何人帮我写一个合适的代码来整合“Ufluid方程式”

U=3.888889
H=0.25
r = variable
Ufluid= 1.5*U*(1.0 - (2.0*r/H).^2)

我想整合“Ufluid方程式” 其中'r'与[-0.125,0.125]不同,'r'的整个范围分为20个部分。

我是如何在matlab代码编写中写的那样的?

2 个答案:

答案 0 :(得分:2)

您要求的结果可以通过多种方式获得。

使用符号集成。

syms r
Ufluid = 1.5*U*(1.0 - (2.0*r/H).^2);
int(Ufluid, -0.125, 0.125)
% = 0.9722

采用Simpson集成方法。

fun = @(r) 1.5*U*(1.0 - (2.0*r/H).^2);
quad(fun, -0.125, 0.125)
% = 0.9722

或使用trapz功能。

range = linspace(-0.125, 0.125, 21);
y = 1.5*U*(1.0 - (2.0*range/H).^2);
trapz(range, y)
% = 0.9698

答案 1 :(得分:1)

试试这个:

U=3.888889
H=0.25
r = linspace(-0.125, 0.125, 21);
Ufluid= 1.5*U*(1.0 - (2.0*r/H).^2);
sum(Ufluid)*(r(2)-r(1))
% = 0.9698

由于积分是连续和,因此您可以在几个点评估函数,对结果求和,并乘以步长以执行分段积分