ı 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 visualizzazioni (ultimi 30 giorni)
Mostra commenti meno recenti
matlab coder
il 22 Dic 2020
Commentato: Alan Stevens
il 23 Dic 2020
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 Commenti
Risposta accettata
Alan Stevens
il 22 Dic 2020
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 Commenti
Alan Stevens
il 23 Dic 2020
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).
Più risposte (0)
Vedere anche
Categorie
Scopri di più su Interpolation in Help Center e File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!