Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/matlab/15.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Matlab 与极限的整合_Matlab - Fatal编程技术网

Matlab 与极限的整合

Matlab 与极限的整合,matlab,Matlab,任何人都可以帮我写一个合适的代码来积分流体方程 U=3.888889 H=0.25 r = variable Ufluid= 1.5*U*(1.0 - (2.0*r/H).^2) 我想积分流体方程 其中“r”的变化范围为[-0.125,0.125],整个“r”范围分为20个部分 我是如何在matlab代码格式中编写的?试试这个: U=3.888889 H=0.25 r = linspace(-0.125, 0.125, 21); Ufluid= 1.5*U*(1.0 - (2.0*r/H).^

任何人都可以帮我写一个合适的代码来积分流体方程

U=3.888889
H=0.25
r = variable
Ufluid= 1.5*U*(1.0 - (2.0*r/H).^2)
我想积分流体方程 其中“r”的变化范围为[-0.125,0.125],整个“r”范围分为20个部分

我是如何在matlab代码格式中编写的?

试试这个:

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

由于积分是连续求和,您可以在多个点计算函数,求和结果,然后乘以步长以执行分段积分

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

使用符号集成

syms r
Ufluid = 1.5*U*(1.0 - (2.0*r/H).^2);
int(Ufluid, -0.125, 0.125)
% = 0.9722
采用辛普森积分法

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

虽然这段代码可能会回答这个问题,但最好包括对它的作用以及为什么它是问题的最佳解决方案的解释。这不仅对OP有帮助,而且对未来的访问者也有帮助。使用符号积分方法并不是每次我得到错误未定义函数“syms”时都能奏效,对于“char”类型的输入参数,其他部分都很有帮助。谢谢你没有符号数学工具箱的许可证。