Effacer les filtres
Effacer les filtres

Imbedded If statement in Function help!

1 vue (au cours des 30 derniers jours)
Brittany Isbister
Brittany Isbister le 12 Fév 2021
Commenté : Paul Hoffrichter le 13 Fév 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 commentaires
Walter Roberson
Walter Roberson le 13 Fév 2021
n is not defined in the function.
Paul Hoffrichter
Paul Hoffrichter le 13 Fév 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.

Connectez-vous pour commenter.

Réponses (1)

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

Connectez-vous pour commenter.

Catégories

En savoir plus sur Matrix Indexing dans Help Center et File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by