필터 지우기
필터 지우기

Imbedded If statement in Function help!

조회 수: 1 (최근 30일)
Brittany Isbister
Brittany Isbister 2021년 2월 12일
댓글: Paul Hoffrichter 2021년 2월 13일
Hi all!
I am trying to write a function that allows me to add up all of my inputs given the conditions in my code. I am trying to make it so I can add it up to see what the help index is. I'm pretty sure my function code is wrong. If you can help tell me where I can fix it I would greatly appreciate it! Thank you! in advance
function [helpIndex]=needsHelp(age,duration,burden,sati); %function to calculate the helpIndex using age(yrs),duration(months),burden,and satisfaction
if age>50 % If age is greater than 50 add 1 point
helpIndex=n+1
elseif duration>60% If duration is greater than 60 add 1 point
helpIndex=n+1
elseif burden>70% If burden is greater than 70 add 1 point
helpIndex=n+1
elseif burden>70 && sati<50 %Then if burden is greater than 70 and satisfaction is less than 50 add an additional point.
helpIndex=n+1
end
  댓글 수: 2
Walter Roberson
Walter Roberson 2021년 2월 13일
n is not defined in the function.
Paul Hoffrichter
Paul Hoffrichter 2021년 2월 13일
Here is an excellent video course that shows you how to program - no experience necessary. They use MATLAB as the programming language (also, no experience necessary). You can take the free version by hitting the audit button.

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

답변 (1개)

Paul Hoffrichter
Paul Hoffrichter 2021년 2월 12일
Did you know that
>> logical(1) + logical(1)
ans =
2
and that
(age>50)
is a logical?
  댓글 수: 5
Paul Hoffrichter
Paul Hoffrichter 2021년 2월 13일
These tests are independent of each other. Since you want to add points, make each test condition an if-statement with no elseif or else. Before the first test, set your initial condition for helpIndex (that is, if all conditions fail, set the desired return vfalue) .
Paul Hoffrichter
Paul Hoffrichter 2021년 2월 13일
>> so I could plug in different numbers
This a common need when modeling simulations. A common way to do this is to put all your parameters into one location, or in a separate parameters file, which would look like
ThreshAge = 50; ThreshDuration = 60; % etc.
% test conditions look like
% (age>ThreshAge) etc.
if (age>ThreshAge)
helpIndex = helpIndex + 1;
end

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

카테고리

Help CenterFile Exchange에서 Matrix Indexing에 대해 자세히 알아보기

태그

Community Treasure Hunt

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

Start Hunting!

Translated by