User Input Error? Using input in a function

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

KSSV
KSSV 2019년 2월 27일
What error you get? What input you tried?
It's saying that line 4 is an invalid expression.
I tried the first input listed on the attachment.
Jan
Jan 2019년 2월 27일
편집: Jan 2019년 2월 27일
@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?
Error using mydistance (line 4)
Error: Invalid expression. Check for missing multiplication operator,
missing or unbalanced delimiters, or other syntax error. To construct
matrices, use brackets instead of parentheses.
exactly what input are you typing in in response to the prompt ?
I've been testing it with: (with and without various degree symbols)
37N, 76W 37N 9W

댓글을 달려면 로그인하십시오.

답변 (1개)

Stephan
Stephan 2019년 2월 28일

0 개 추천

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

카테고리

도움말 센터File Exchange에서 General Applications에 대해 자세히 알아보기

질문:

2019년 2월 27일

답변:

2019년 2월 28일

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by