ı 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!