ı want to calculate the flow variable by the specified input by user. for example when ı take l/d=1 and S=0.20 on the chart and then ı read by hand its almost 4.10. but when ı calculate with my code it gives different result. can you help me?
2 ビュー (過去 30 日間)
古いコメントを表示
D=input('enter a value of diameter:');
L=input('enter a value of length:');
if L/D==1
% for l/d=1 performance parameters
S=[0 0.00474 0.0188 0.0446 0.121 0.264 0.631 1.33 inf];
% the corresponding vector for the volumetric oil-flow rate, Q/ (RcnL)
Qc_1=[0 4.82 4.74 4.62 4.33 3.99 3.59 3.37 pi];
fQR = csapi( S, Qc_1 );
% suppose ı took Sc=0.20 from the chart
Sc=0.20;
Qc = fnval(fQR, Sc);
end
![](https://www.mathworks.com/matlabcentral/answers/uploaded_files/468105/image.png)
0 件のコメント
採用された回答
Alan Stevens
2020 年 12 月 22 日
Use interp1, but get rid of inf (and possibly use more points!)
>> S=[0 0.00474 0.0188 0.0446 0.121 0.264 0.631 1.33 6];
>> Qc_1=[0 4.82 4.74 4.62 4.33 3.99 3.59 3.37 3.2];
>> Q = interp1(S,Qc_1,0.2)
Q =
4.1422
2 件のコメント
Alan Stevens
2020 年 12 月 23 日
The inf values you could replace with large, but finite values. How often are you likely to need those extremes?
For the two dashes you could interpolate using values of epsilon or (ho/c).
その他の回答 (0 件)
参考
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!