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

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
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

댓글을 달려면 로그인하십시오.

 채택된 답변

Matt J
Matt J 2017년 4월 17일
function gr = gearratio_fun(v)
gr=v;
gr(:)=7.8119333;
gr(v > 30.097 ) = 5.0005263;
gr(v > 36.96 ) = 4.0718571;

추가 답변 (0개)

카테고리

도움말 센터File Exchange에서 Gears에 대해 자세히 알아보기

질문:

2017년 4월 16일

댓글:

2017년 4월 17일

Community Treasure Hunt

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

Start Hunting!

Translated by