% 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 2530 (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