雷诺数与阻力系数的对数插值

时间:2019-05-06 08:19:24

标签: matlab interpolation spline logarithm loglog

  

该表显示了球的阻力系数cD与   雷诺数Re。在cD中找到Re = 5, 50, 500, 5000。提示:使用   对数-对数刻度。

Re 0.2 2 20 200 2000 20000
cD 103 13.9 2.72 0.800 0.401 0.433

我不知道如何“使用对数对数刻度”来解决此问题。我尝试了以下代码,但我不知道它是否正确。如何在此处使用对数-对数比例?

您可以在链接下面找到问题的原件

https://d2vlcm61l7u1fs.cloudfront.net/media%2Faef%2Faef9a122-1a83-423d-9258-66fac0cac8e4%2FphpCF4Vwd.png

r = [0.2, 2, 20 ,200, 2000 ,20000];
c = [103, 13.9, 2.72 ,0.800 ,0.401 ,0.433];
rI = [5,50,500,5000];
cI = spline (r,c, rI);

1 个答案:

答案 0 :(得分:1)

对于此问题,您需要做的是计算X和Y值的对数,然后才执行插值。如果您查看drag coefficient of a sphere

Cd vs Re

您将看到使用对数刻度绘制该图表(和其他类似图表)。请注意,红色曲线非常平滑且行为良好,但3E5附近的过渡点会发生流动分离。

要解决您的任务,您需要“使用红色曲线”(即在对数域中)执行插值。这样做的原因是因为X和Y值的跨度非常大,并且原始域上的多项式或样条不能正确捕获行为。实际上-

r = [0.2, 2, 20 ,200, 2000 ,20000];
c = [103, 13.9, 2.72 ,0.800 ,0.401 ,0.433];
rI = [5,50,500,5000];
cI = exp( spline( log(r), log(c), log(rI)) ); % interpolation is performed for log(y) vs log(x)
%{
cI =
    6.9390    1.5843    0.5636    0.3717
%}

可以使用图表手动验证这些结果的正确性。