If loop not executed in a function
조회 수: 2 (최근 30일)
이전 댓글 표시
Hi everyone,
I'm trying to build a simple function that gives values to parameters based on input. Attached are my programs
In the main program, if I input ship_type='Passenger ship', then everything worked fine
But when I change it to ship_type='cargo ship' or 'container ship', I get the error message 'Matrix dimensions must agree'
So I'm confused.
What's wrong with my program?
Btw, I'm using version 2017a
댓글 수: 0
채택된 답변
KSSV
2019년 7월 12일
편집: KSSV
2019년 7월 12일
Use strcmp instead of equating.
function[A0,A1,A2,A3,A4,A5]=Trial_types(ship_type,x)
if strcmp(ship_type,'Passenger ship')
A0=0;
A1=1+x;
A2=2*x;
A3=3/x;
A4=4-x;
A5=x^2;
elseif strcmp(ship_type,'cargo ship')
A0=10;
A1=10+x;
A2=20*x;
A3=30/x;
A4=40-x;
A5=(x-10)^2;
elseif strcmp(ship_type,'container ship')
A0=20;
A1=20+x;
A2=30*x;
A3=40/x;
A4=50-x;
A5=(x-20)^2;
else
end
end
댓글 수: 2
추가 답변 (0개)
참고 항목
카테고리
Help Center 및 File Exchange에서 Get Started with MATLAB에 대해 자세히 알아보기
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!