How to interpolate a value between two values in an array?

4 visualizzazioni (ultimi 30 giorni)
Hi,i have an array named sumNy. the content of sumNy gives me Ny and the number of it's cells show me corresponding accelerations. now i have a specified Ny that is between two Ny s in my sumNy array, and i want to obtain it's corresponding acceleration.
i wrote this code but i dont know why it is not working
for i=1:150
if i==1
y=0;
elseif sumNy1(1,i-1)<=(1/475) & sumNy1(1,i)>=(1/475)
y=(((1/475)-sumNy1(1,i))/(sumNy1(1,i-1)-sumNy1(1,i)))*(i-1)+(1-(((1/475)- sumNy1(1,i))/(sumNy1(1,i-1)-sumNy1(1,i))))*(i);
end
end
please help me
Thanks
  2 Commenti
Arman Kam
Arman Kam il 26 Lug 2012
i must say that (1/475) is my specified Ny
Arman Kam
Arman Kam il 26 Lug 2012
and by the way, there is two Ny s in my array that the specified Ny (1/475) place between them, so that is not why everytime i run this code it gives me y=0 !

Accedi per commentare.

Risposte (2)

Wayne King
Wayne King il 26 Lug 2012
Have you tried interp1?
For example:
t = 0:10; x = sin(t);
tnew = 0:.25:10;
xnew = interp1(t,x,tnew);
plot(t,x,'o',tnew,xnew)
  2 Commenti
Arman Kam
Arman Kam il 26 Lug 2012
i dont know what to put as a function in interp1 that gives me linear interpolation.
Arman Kam
Arman Kam il 26 Lug 2012
i think the code i wrote do what i want but everytime i try this code the value of y will be zero!
would you please help me whats wrong with this code?!

Accedi per commentare.


Arman Kam
Arman Kam il 26 Lug 2012
sorry friends, i just find out my horrible mistake!
but still if you have a better way to do this please tell me

Categorie

Scopri di più su Multidimensional Arrays 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!

Translated by