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 Center および File ExchangeTime Series Objects についてさらに検索

タグ

Community Treasure Hunt

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

Start Hunting!

Translated by