Help to Improve this short code (create a rect given initial point, final point and slope)

Hello there!!
I have write this code to find the Y values of a line, given two points and slope (calculate previous call the funtion), its to simple but in implementation i calling this function around 10 million times, so i need te reduce the time that it takes, if someone have some advice it would be helpful thank you!!!.
function[y] = LineFuntion(pts,m,Pi,Pf)
y=zeros(1,pts);
if abs(m) == Inf % vertical line
y(1:pts) = linspace(Pi(2),Pf(2),pts);
elseif m == 0 % horizontal line
y(1:pts) = Pi(2);
else
x=zeros(1,pts);
x(1:pts) = linspace(Pi(1),Pf(1),pts); %this line is the most time consuming
y(1:pts) = m*(x-Pi(1))+Pi(2); %this line is the second most time consuming
end
end

 Respuesta aceptada

function[y] = LineFuntion(pts,m,Pi,Pf)
if abs(m) == Inf % vertical line
y = linspace(Pi(2),Pf(2),pts);
elseif m == 0 % horizontal line
y = repmat(Pi(2),1,pts);
else
x = linspace(Pi(1),Pf(1),pts);
y = m*(x-Pi(1))+Pi(2);
end
end

1 comentario

Thanks it work better!, let me wait if some one comment something else , so i can acept your answer.

Iniciar sesión para comentar.

Más respuestas (0)

Categorías

Productos

Versión

R2019b

Preguntada:

el 30 de Mayo de 2020

Comentada:

el 30 de Mayo de 2020

Community Treasure Hunt

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

Start Hunting!

Translated by