Imbedded If statement in Function help!

1 visualización (últimos 30 días)
Brittany Isbister
Brittany Isbister el 12 de Feb. de 2021
Comentada: Paul Hoffrichter el 13 de Feb. de 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 comentarios
Walter Roberson
Walter Roberson el 13 de Feb. de 2021
n is not defined in the function.
Paul Hoffrichter
Paul Hoffrichter el 13 de Feb. de 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.

Iniciar sesión para comentar.

Respuestas (1)

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

Iniciar sesión para comentar.

Categorías

Más información sobre Matrix Indexing en Help Center y File Exchange.

Etiquetas

Community Treasure Hunt

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

Start Hunting!

Translated by