任何人帮我写一个合适的代码来整合“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代码编写中写的那样的?
答案 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
由于积分是连续和,因此您可以在几个点评估函数,对结果求和,并乘以步长以执行分段积分