How to interpolate based on given column
3 vues (au cours des 30 derniers jours)
Afficher commentaires plus anciens
Mekala balaji
le 7 Nov 2018
Modifié(e) : madhan ravi
le 7 Nov 2018
Hi,
I have below array(double), and want to assign 50 for maximum value and 0 for minimum value, and for the rest of the values between maxima and minima interpolation.
0.2
0.8
1.0
1.3
0.8
2.3
4.9
10.0
0.2
5
2.3
8.7
10
In this case,
0.2 -->50
10.0 -->0
for rest of the values, to interpolate between 50& 0.
0 commentaires
Réponse acceptée
Stephen23
le 7 Nov 2018
Modifié(e) : Stephen23
le 7 Nov 2018
No need to use interpolation, just some simple, efficient arithmetic:
>> V = [0.2;0.8;1.0;1.3;0.8;2.3;4.9;10.0;0.2;5;2.3;8.7;10]
V =
0.20000
0.80000
1.00000
1.30000
0.80000
2.30000
4.90000
10.00000
0.20000
5.00000
2.30000
8.70000
10.00000
>> Vmin = min(V);
>> Vmax = max(V);
>> 50*(Vmax-V)/(Vmax-Vmin)
ans =
50.00000
46.93878
45.91837
44.38776
46.93878
39.28571
26.02041
0.00000
50.00000
25.51020
39.28571
6.63265
0.00000
0 commentaires
Plus de réponses (1)
madhan ravi
le 7 Nov 2018
Modifié(e) : madhan ravi
le 7 Nov 2018
a=[0.2
0.8
1.0
1.3
0.8
2.3
4.9
10.0
0.2
5
2.3
8.7
10]
[~,x1]= max(a)
[~,x2]=min(a)
a(x1)=50
a(x2)=0
Interpolated_values=interp1(a,linspace(a(1),a(end))); %interpolated between 0 and 50
0 commentaires
Voir également
Catégories
En savoir plus sur Interpolation dans Help Center et File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!