Логарифмическая интерполяция чисел Рейнольдса против коэффициента сопротивления - PullRequest
0 голосов
/ 06 мая 2019

Таблица показывает коэффициент сопротивления cD сферы как функцию Число Рейнольдса Re. Найдите cD в Re = 5, 50, 500, 5000. Подсказка: используйте log – log scale.

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

Я не понимаю, как «использовать log-log scale» для решения этой проблемы. Я попробовал приведенные ниже коды, но я не знаю, правильно ли это или нет. Как я могу использовать шкалу log-log здесь?

оригинал вопроса вы можете найти по ссылке

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 Ответ

1 голос
/ 06 мая 2019

Что вам нужно сделать для этого вопроса, это вычислить логарифм ваших значений X и Y и только затем выполнить интерполяцию. Если вы посмотрите на коэффициент сопротивления сферы ,

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
%}

Правильность этих результатов можно проверить вручную с помощью диаграммы.

...