Making function output vector instead of value

1 view (last 30 days)
I was working on a function that is using a vector v to decide which gear ratio to use. However, when I get the result from the function it only outputs one value although the velocity vector values go higher than the if conditions.
function gr = gearratio_fun(v)
if v > 36.96
gr = 4.0718571; %3rd gear
elseif v > 30.097
gr = 5.0005263; %2nd gear
else
gr = 7.8119333; %1st gear
end
  2 Comments
the cyclist
the cyclist on 16 Apr 2017
Can you please give an example of an input v, along with
  • the output you see from the function, and
  • the output you expect or want from the function
Alexandru Bortea
Alexandru Bortea on 17 Apr 2017
I have attached v below with all the values that it goes through. For each value of v I would like to have a gr value assigned, so a same size vector as v. However when I run the function, the output it gives for the attached v is gr = 7.8119

Sign in to comment.

Accepted Answer

Matt J
Matt J on 17 Apr 2017
function gr = gearratio_fun(v)
gr=v;
gr(:)=7.8119333;
gr(v > 30.097 ) = 5.0005263;
gr(v > 36.96 ) = 4.0718571;

More Answers (0)

Categories

Find more on Gears in Help Center and File Exchange

Community Treasure Hunt

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

Start Hunting!