How can I fix this?
조회 수: 1 (최근 30일)
이전 댓글 표시
clear all; close all; clc; format compact
x1 = 2
sqrt = sqrt(x1)
x2 = sqrt^2
y1 = 3
st = sqrt(y1)
y2 = st1^2
Index exceeds the number of array elements. Index must not exceed 1.
Error in Debugging_7_Eduardo_Gallegos (line 6)
st = sqrt(y1)
I'm not sure what to do to fix this error
댓글 수: 0
채택된 답변
dpb
2022년 10월 25일
편집: dpb
2022년 10월 25일
Don't alias the builtin sqrt function by assign a value to it and thereby turning the reference to sqrt into a variable.
sqrt = sqrt(x1)
just wiped out the function of the same name by hiding it behind the variable of the same name.
x1 = 2;
sqr_x = sqrt(x1);
x2 = sqr_x^2;
...
will save your bacon.
MORAL: Don't EVER use a builtin function name as a variable!!!
NOTA BENE: You'll then need to
clear sqrt
to rid the workspace of the variable before going on...your first line I didn't put into the code will do the deed as well, but is way overkill for almost all uses (excepting if the instructor makes it a requirement for grading purposes).
댓글 수: 2
dpb
2022년 10월 25일
Don't feel bad...everybody does that at some point or another in their learning curve...and sometimes the most obvious is the hardest to see having made a blunder.
추가 답변 (0개)
참고 항목
카테고리
Help Center 및 File Exchange에서 Structures에 대해 자세히 알아보기
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!