Why doesn't my script work? It comes back with Error: File: equTriPrismSurfArea.m Line: 6 Column: 1 This statement is not inside any function.
1 view (last 30 days)
Show older comments
function [SA]=equTriPrismSurfArea(s,h)
SA=((sqrt(3)/2)*(s^2))+(3*s*h);
end
s = [1 2 3 4 5];
h = [1 2 3 4 5];
for i = 1:5
s1 = s(i);
h1 = h(i);
SA = ((sqrt(3)/2) * s1^2 + 3*s1*h1);
fprintf ("\nTotal surface area of equilateral triangular prism is %f\n",SA)
end
0 Comments
Accepted Answer
John D'Errico
on 29 Aug 2021
Edited: John D'Errico
on 29 Aug 2021
READ THE CODE YOU WROTE.
function [SA]=equTriPrismSurfArea(s,h)
SA=((sqrt(3)/2)*(s^2))+(3*s*h);
end
s = [1 2 3 4 5];
... (MORE)
What is that end doing there?
What happens when MATLAB tries to use this function? What does MATLAB do when it sees the end?
What did it say?
Line: 6 Column: 1 This statement is not inside any function.
So after the end, is the rest of the code you wrote inside the function? NO? What will MATLAB do then? In fact, it gets upset, and it gives up.
What that code is supposed to do there, we don't know. Maybe that end statement is supposed to be there. How can we know? Only you know that.
When MATLAB tells you there is a problem in line 6, you might look at line 5, or line 4. Did you do something strange there?
0 Comments
More Answers (0)
See Also
Categories
Find more on Loops and Conditional Statements 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!