Imbedded If statement in Function help!

1 visualizzazione (ultimi 30 giorni)
Brittany Isbister
Brittany Isbister il 12 Feb 2021
Commentato: Paul Hoffrichter il 13 Feb 2021
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 Commenti
Walter Roberson
Walter Roberson il 13 Feb 2021
n is not defined in the function.
Paul Hoffrichter
Paul Hoffrichter il 13 Feb 2021
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.

Accedi per commentare.

Risposte (1)

Paul Hoffrichter
Paul Hoffrichter il 12 Feb 2021
Did you know that
>> logical(1) + logical(1)
ans =
2
and that
(age>50)
is a logical?
  5 Commenti
Paul Hoffrichter
Paul Hoffrichter il 13 Feb 2021
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 il 13 Feb 2021
>> 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

Accedi per commentare.

Community Treasure Hunt

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

Start Hunting!

Translated by