I have
function fps = ktsTOfps(kts)
%fps converts speed given in units of knots to speed in units of feet per
%second
% input variable: kts
% output variable: fps
% calling sequence: fps = ktsTOfps(kts)
% calculating fps
fps=kts*1.687809857;
kts=400;
fps = ktsTOfps(kts)
I keep getting the error "Index exceeds matrix dimensions." I don't really understand why this is popping up or where I need to go from here?

2 Comments

One knot is 1.150779448023543 U.S. statute miles, or 6076.115485564304 U.S. feet, or more properly, 1.852 kilometers.
(Answers Dev) Restored question.

Sign in to comment.

 Accepted Answer

Geoff Hayes
Geoff Hayes on 17 Nov 2015
Victoria - the error message is telling you that you are trying to access an element in an array (or matrix) using an index that exceeds the size of the array. As your function ktsTOfps doesn't do any indexing into an array, I wonder if the problem is when you call the function at
fps = ktsTOfps(its)
Could it be that you have created a local variable with the same name as ktsTOfps? In the Command Window type
which -all ktsTOfps
What do you see? You may observe something similar to
ktsTOfps is a variable.
/Users/geoffhayes/Documents/MATLAB/ktsTOfps.m % Shadowed
which would indicate that you do have a local variable (in the base workspace) that needs to be deleted.

1 Comment

It was the last thing you stated. I finally noticed about 29 minutes after posting the question on here. I cleared my workspace and it worked perfectly. Thank you though!

Sign in to comment.

More Answers (0)

Categories

Tags

Community Treasure Hunt

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

Start Hunting!