Skip to main content

Convert from miles per hour to kilometers per hour and vice versa using Matlab

Problem

Write a Matlab program to convert from miles per hour(mph) to kilometers per hour(kph) if the user gives the input in mph and from kph to mph if the user gives input in kph. (Hint: Ask the user to enter the value first and then ask the user to select the units giving options.). The conversion factors are as follows:
Miles per hour(mph) to Kilometers per hour(kph) conversion - source: google
Miles per hour(mph) to Kilometers per hour(kph) conversion
kilometers per hour(kph) to miles per hour(mph) conversion factor: source: google
Kilometers per hour(kph) to Miles per hour(mph) conversion
You can get to know about the speed and its units Speed - Wikipedia.

Solution

This problem is similar to our previous post: Convert Temperatures Celsius Fahrenheit using Matlab. Hint has also been given in the question itself and I suggest you to directly see program section and for detailed explanation then see explanation section. Some of the concepts you need to know to solve this problem are as follows:
1) Request User input Matlab
2) fprintf function in Matlab
3) variables in Matlab
4) if elseif else statements in Matlab
5) Comments in Matlab

Program

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
%Ask the user to enter the value
speed = input('Enter the value of speed: ');

%Ask the user to select the units of speed
fprintf('Select the units\n')
fprintf('1) Kilometers Per Hour(KPH)\n')
fprintf('2) Miles Per Hour(MPH)\n')
units = input('Select your option and enter the number: ');

if units == 1
    mph = 1.60934*speed;
    fprintf('%.2f KPH = %.2f MPH\n',speed, mph)
elseif units == 2
    kph = 0.621371*speed;
    fprintf('%.2f MPH = %.2f KPH\n',speed, kph)
else
    fprintf('You have entered a wrong input.\n')
    fprintf('Please try again\n')
    fprintf('-------RESTART -----------\n\n')
    mphkph;
end
I have saved this file as mphkph.m on my local computer.

Explanation

Line 1: It is a Matlab comment
Line 2: We are asking the input of the user using the Matlab input function and storing it in a variable called as speed.
Line 4: We are commenting using Matlab Comments that we are are going to ask the user the units of speed
Line5-7: We are presenting the user with options using the fprintf statements
Line 8: We are asking the user to select the unit and enter the option which we are storing in units variable. And we are asking the user to give the input using the Input function.
Line 10: I have started the if statement to check whether the user has given the input as 1, if yes then we can understand that the user has chosen the input as KPH and thus the speed needs to be converted to MPH.
Line 11-12: This is under the if statement block. If the user has selected 1 then we will convert the speed from KMPH to MPH using the relation given in the question and we are printing the output to the user screen using the fprintf statement.
Line 13: Here we have used the elseif statement to check whether the user has given the input as 2. If yes then convert from MPH to KPH.
Line 14-15: This is an elseif block and it is similar to the if block where the data given input is being converted from MPH to KPH.
Line 16: Here we are using the else statement to check if the user has not entered any of the options(neither 1 nor 2). Then we(Matlab) will log a error to the user saying that they have entered a wrong input and ask them to try again. We will restart the script. We will use the name of the script to start the script again and the same continues until the user enters a correct input or the user is satisfied with the conversions.

Input/Output

mph kph conversion using matlab, Matlab session example program
MPH to KPH Conversion and vice versa

Try it Yourself

1) Write a program to convert from miles per hour to meters per hour and vice versa. You can get the conversion factor from here: Comment your program to help others
Miles per hour to meters per hour conversion matlab
Miles per hour to meters per hour
Meter per hour to miles per hour conversion using Matlab
Meter per hour to Miles per hour
2) Write a program to convert from miles per hour to meter per second using Matlab. You can find the conversion factor from here: Convert Miles per hour to Meter per second . Comment your program to help others.

Final Note

I have tried to explain every part in this post in such a way that it is easy to understand for everyone. If you have not understood anything or have a doubt then please do contact me or comment below. You can contact me from here: contact me

The above program was high lighted using hilite.me
I would like to cite a source from wikimedia who have a book for Matlab programming. You can get it from here: Matlab Programming- Wikibooks. You can read it if you want to learn Matlab from a free source.

Keywords: conversion, matlab, mph, kph, miles, kilometers, meters

Popular posts from this blog

Making a quiz web app with python and flask

Edit : When you are creating a web app with h tml templates, then y ou will have to sa ve the html file in templates folder in the Current Wor ki ng Directory( CWD). If you save the file in the C W D directl y you will get a TemplateNotFound error. Thank you Udhay for pointing it out.   In this post we will create a quiz website using python . I will be using the flask framework . After reading this tutorial you will learn form submission , flask templates , python code in flask templates , shuffling the questions and options with the random module and few others.  Please note that this tutorial is not big as it seems to be. Some of the code has been rewritten to maintain consistency and also font size is somewhat big so that your eyes won't get stressed reading this tutorial. Also the content has not occupied the full width of the page. In this tutorial I am assuming that you are having a very basic understanding of the flask framework . Please refer the documentation

Problem 11 Project Euler Solution with python

Largest product in a grid In the 20×20 grid below, four numbers along a diagonal line have been marked in red. 08 02 22 97 38 15 00 40 00 75 04 05 07 78 52 12 50 77 91 08 49 49 99 40 17 81 18 57 60 87 17 40 98 43 69 48 04 56 62 00 81 49 31 73 55 79 14 29 93 71 40 67 53 88 30 03 49 13 36 65 52 70 95 23 04 60 11 42 69 24 68 56 01 32 56 71 37 02 36 91 22 31 16 71 51 67 63 89 41 92 36 54 22 40 40 28 66 33 13 80 24 47 32 60 99 03 45 02 44 75 33 53 78 36 84 20 35 17 12 50 32 98 81 28 64 23 67 10 26 38 40 67 59 54 70 66 18 38 64 70 67 26 20 68 02 62 12 20 95 63 94 39 63 08 40 91 66 49 94 21 24 55 58 05 66 73 99 26 97 17 78 78 96 83 14 88 34 89 63 72 21 36 23 09 75 00 76 44 20 45 35 14 00 61 33 97 34 31 33 95 78 17 53 28 22 75 31 67 15 94 03 80 04 62 16 14 09 53 56 92 16 39 05 42 96 35 31 47 55 58 88 24 00 17 54 24 36 29 85 57 86 56 00 48 35 71 89 07 05 44 44 37 44 60 21 58 51 54 17 58 19 80 81 68 05 94 47 69 28 73 92 13 86 52 17 77 04 89 55 40 04 52 08 83 97 35 99 16 07

Problem 60 Project Euler Solution with python

Prime pair sets The primes 3, 7, 109, and 673, are quite remarkable. By taking any two primes and concatenating them in any order the result will always be prime. For example, taking 7 and 109, both 7109 and 1097 are prime. The sum of these four primes, 792, represents the lowest sum for a set of four primes with this property. Find the lowest sum for a set of five primes for which any two primes concatenate to produce another prime. This problem is j u st a brute force problem. If you have come here because you don't know the limit upto which you will h ave to gener ate the prime numbers t hen go ahe ad and t r y with 10,000 . When I first start ed solving the problem I chose 1 million(beca use most of the problem s on project E uler have this limit ), but it took very long for the computer to fin d the solution. After searching on the internet then I found many people choosing 10, 000 so I have changed my in put f rom 1 million to 10000 and the output was f ast. He