% So you want my phone number and my BMI?  How shallow can you get?

% Worksheet : Finding the BMI of  a person, classifying the BMI and
% suggesting a healthy weight
% Language : Matlab 2007a
% Authors : Autar Kaw
% Last Revised : September 27, 2008

%  Abstract: Finding the body mass index of a person, classifying their health and recommending a target weight.
%  In 1998, the federal government developed the body mass index (BMI)
%  to determine ideal weights.  Body mass index is calculated as
%  703 times the weight in pounds divided by the square of the height in inches,
%  the obtained number is then rounded to the nearest whole number
%  (23.5 will be rounded to 24; 23.1 will be rounded to 23; 23.52 will be rounded to 24).
%
% Write a MATLAB program to do the following:
%
% Assign a value to weight in lbs, and height in inches and
% then calculate BMI as a rounded integer.
% Output a variable called health_id as
%     0 if the person's BMI <19 (underweight)
%     1 if the person’s BMI is 19?BMI?25 (healthy)
%     2 if the person's BMI is 25<BMI?30 (overweight)
%     3 if the person’s BMI is >30 (obese)
% Output also a variable hw for healthy weight in rounded integer lbs for all the conditions.
% Use fprintf command with explanation for the inputs and outputs
clc
clear all
% INPUTS
% Weight in lbs
weight=180;
% Height in inches
height=69;

%REST OF THE PROGRAM
bmi=weight/height^2*703.0;
bmi=round(bmi);

% Assigning the proper health_id and finding the suggested healthy weight
% health_id= BMI category
% hw = healthy weight
% You can use 4 separate if-end statements or switch case statement also.
if (bmi<19)
    health_id=0;
    hw=19*height^2/703;
elseif (bmi>=19 & bmi<=25);
    health_id=1;
elseif (bmi>25 & bmi<=30);
    health_id=2;
    hw=25*height^2/703;
else
    health_id=3;
    hw=25*height^2/703;
end
    hw=round(hw);

% Printing the outputs
disp('The BMI MATLAB program')
disp('Author: Autar K Kaw')
disp('http://numericalmethods.eng.usf.edu')
disp('September 28, 2008')
disp(' ')
fprintf('\nWeight of person =%6.0f lbs',weight)
fprintf('\nHeight of person =%6.0f inches',height)
fprintf('\nYour BMI is  =%g ',bmi)
if health_id==0
    fprintf('\nYou are underweight.  \nYour target weight is =%6.0f lbs',hw)
elseif health_id==1
    fprintf('\nYou are a healthy weight.  \nYour target weight is =%6.0f lbs',hw)
elseif health_id==2
    fprintf('\nYou are overweight.  \nYour target weight is =%6.0f lbs',hw)
elseif health_id==3
    fprintf('\nYou are obese.  \nYour target weight is =%6.0f lbs',hw)
end
The BMI MATLAB program
Author: Autar K Kaw
http://numericalmethods.eng.usf.edu
September 28, 2008
 

Weight of person =   180 lbs
Height of person =    69 inches
Your BMI is  =27 
You are overweight.  
Your target weight is =   169 lbs