quiero hacer una funcion que me haga lo siguiente:
Tengo 2 vectores s y vs
s vs
0 -3
1 -2
2 -1
3 0
4 1
5 2
6 3
7 4
8 5
9 6
10 9
y quiero que calcule la integral desde vs= min(vs) hasta vs(1) y otra integral desde vs=min(vs) hasta vs(n), pero que en cada paso k, me vaya guardando los valores en un nuevo vector llamado [jis], a continuacion escribo lo que hice, mi problema es que para un determinado ejemplo, la funcion trabaja sin dificultades, pero para otro, ya no funciona, cual es mi error, alguien podria ayudarme en este y otros algoritmos par otras funciones. gracias
function [jis]=potencial(s,vs);
%Función para calcular ji(s)
%s = Vector de la coordenada de arco
%vs = Vector de la coordenada de la velocidad
n=length(s);
[Y,I]=min(abs(vs));
%-------------------------------------------------------------------------
for k =1:I-1;
ji1=(s(k+1)-s(k))*((vs(k+1)+vs(k))/2);
ji1=ji1';
b(k)=sum(ji1);
r1=b';
r1=-sort(r1,1,'ascend');
end
r1(I)=0;
r1;
%-------------------------------------------------------------------------
for k = I : n-1;
ji2(k)=(s(k+1)-s(k))*((vs(k+1)+vs(k))/2);
ji2=ji2'
b(k+1)=sum(ji2);
end
r2=b';
r2;
%-------------------------------------------------------------------------
for k = 1: I;
r2(k)=r1(k);
end
%-------------------------------------------------------------------------
jis=r2;