User Input Error? Using input in a function
Show older comments
I am trying to use input to make a functiont that calculates the great circle distance between two sets of coordinates on the surface of the Earth. The problem is I am getting an error on the part that takes input (line 4), long before I get to the calculations. What am I doing wrong?
I've attached the code as well as example coordinates to check it.
7 Comments
KSSV
on 27 Feb 2019
What error you get? What input you tried?
Olivia Colombo
on 27 Feb 2019
Olivia Colombo
on 27 Feb 2019
@Olivia: Please post a copy of the original message. "It's saying ..." sounds cute, but is less useful. Which one is the "line 4"? x = input(prompt)?
Older Matlab version do not accept the double quote to define a string. Which Matlab version are you running?
Olivia Colombo
on 28 Feb 2019
Walter Roberson
on 28 Feb 2019
exactly what input are you typing in in response to the prompt ?
Olivia Colombo
on 28 Feb 2019
Answers (1)
Stephan
on 28 Feb 2019
Hi,
try:
result = mydistance
function d = mydistance
prompt = 'Input coordinates between which you want to find the great circle distance (XºN, XºW XºN, XºW): \n';
getridof = ["N","W",",",char(176)];
x = input(prompt,'s');
x = double(string(split(replace(x,getridof,""))));
a = acos(sin(deg2rad(x(1)))*sin(deg2rad(x(3)))+cos(deg2rad(x(1)))*cos(deg2rad(x(3)))*cos(abs(deg2rad(x(2)))-deg2rad(x(4))));
d = a*.6371;
disp(['The great circle distance in km is: ',num2str(d)])
end
for input:
Input coordinates between which you want to find the great circle distance (XºN, XºW XºN, XºW):
37°N, 76°W 37°N, 9°W
the result is:
The great circle distance in km is: 0.58165
result =
0.5817
Best regards
Stephan
Categories
Find more on General Applications in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!