Problem
Wind
often makes the air feel even colder than it is. The wind chill factor (WCF) measures
how cold it feels with a given air temperature T (in degrees Fahrenheit) and wind
speed (V, in miles per hour). One formula for the WCF is:
WCF
=
35.7 + 0.6 T - 35.7 (V0.16) + 0.43 T (V0.16)
-
Create variables for the temperature T and wind
speed V, and then using this formula calculate the WCF.
Solution
If you want to know more about Wind chill factor(WCF) then please refer: Wikipedia - Wind Chill Factor
This problem has been
taken from the book Practical Introduction to Matlab by Stormy Attaway. This is
a very good book to read for people who are new to Matlab and also if you want
to refresh yourself the concepts of Matlab, then this is a great book. This
book assumes that you are new to Matlab and will teach you from beginning and
make you a professional in Matlab programming. I suggest you read this book at
least once if you really want to become a pro in Matlab.
This
problem is very simple to solve using Matlab while you need to know how to
assign a power to a number or variable in Matlab. First of all see the program
section and try to understand the program first then if you still don’t
understand the program then refer to the explanation section to find the
explanation regarding the program. Some of the basic concepts you need to know
to solve the above problem in Matlab are as follows:
1) User Input - Input()
2) variables in Matlab
3) Operator Precedence
4) fprintf function Matlab
5) Raise an expression to a power
1) User Input - Input()
2) variables in Matlab
3) Operator Precedence
4) fprintf function Matlab
5) Raise an expression to a power
Program
%Take the user input
t = input('Enter the Temperature in degree F: \n');
v = input('Enter the velocity of wind:\n');
%Calculate the wind chill factor
%WCF = 35.7 + 0.6 T - 35.7 (V0.16) + 0.43 T (V0.16)
wcfac = 35.7 + 0.6*(t) - 35.7*(v^0.16) + 0.43*(t)*(v^0.16);
%display the output to the user
fprintf('Wind Chill Factor(WCF) for the %.2f temperature and %.2f velocity: ',t,v)
fprintf('%.2f\n',wcfac)
I have saved this program as wcf.m on my local computer.
Find
out in explanation section why I have named the variable wcfac instead of
naming it wcf which is really very convenient.
Explanation
In this program we will first ask the user to input the value of temperature in F using the input function. Then we will ask the user to input the velocity of the wind using the input function. As given in the question we will use the equation and write the matlab equivalent of the given equation and store it as wcfac variable. Then finally after calculating the value of the wind Chill Factor then we will give to the user a very neat output using the fprintf function.
Here I have not named the Wind Chill Factor variable as wcf and instead named it as wcfac because:
You can observe that I have saved my file name as wcf and when I run the above program in Matlab naming the variable wcf instead of wcfac then Matlab gets confused whether the variable is calling the script or a variable. So this will cause an error as shown in the figure:
error when name of variable is same as the script |
While I have forgotten to mention that the equation given in the question can be converted to matlab equivalent in many ways. Like without using the brackets and directly using the asterisk(*) and so on.
Try it yourself
1) Try to make your own version of the matlab equivalent of the equation given in the question and comment it below
2) Comment your own result for a set of given random values of your own.
Input/Output
Wind Chill Factor(WCF) using Matlab |
I have tried to explain the program in a very easy manner. If you didn't understand the program or have any doubt or have found any bug then please do contact me so that it will help you and the community. You can contact me from here: Contact me.
The above program has been high lighted using hilite.me web app.
KeyWords: Stormy Attaway, matlab solution, wind chill factor, wcf