1×0 empty double row vector with command find

Hi everyone, I am trying to find the intersections points in the figure, but when I use the command find I just get this error:
1×0 empty double row vector
This is my code
Vo1=50;
Vo2=80;
g=-9.81;
t_v=0:0.1:20;
h_1=Vo1*t_v+(g*t_v.^2)/2;
h_2=Vo2*(t_v-2)+(g*(t_v-2).^2/2);
figure
plot(t_v,h_1,'m',t_v,h_2,'b') ;
grid on;
title('Trayectorias');
xlabel('Tiempo');
ylabel('Altura');
axis([0 10 0 340]);
legend('Velocidad 50','Velocidad 80','fontsize',14);
find(h_1==h_2)
thanks

Respuestas (1)

Jan
Jan el 3 de Mayo de 2021
Why do you call this an "error"? The vectors h_1 and h_2 do not have an equal element at the same location. h_1==h_2 is an elementwise comparison, which relplies a vactor. Do you want to compare all elements with eachother? Then you need:
find(h_1 == h_2.')
Even then it is not expected, that you find identical elements due to the rounding errors. You need a tolerance:
find(abs(h_1 - h_2.') < 10 * eps(max(h_1, h_2)))

Categorías

Más información sobre Operators and Elementary Operations en Centro de ayuda y File Exchange.

Productos

Preguntada:

el 3 de Mayo de 2021

Respondida:

Jan
el 3 de Mayo de 2021

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by