Clear Filters
Clear Filters

Making function output vector instead of value

3 views (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)

Community Treasure Hunt

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

Start Hunting!