How to solve error 'Error: File: function9.m Line: 10 Column: 5 Function definition is misplaced or improperly nested.'
5 views (last 30 days)
Show older comments
function function9
clc
clear all
close all
Problem_number=input('please enter question number')
if Problem_number==1
kmh=input('input kilometers');
ftps=problem_1(kmh);
function ftps=problem_1(kmh)
%function problem_1 converts kilometers per hour to meters per second
ftps=kmh*3281/3600
end
elseif Problem_number==2
days=input('enter the number of days');
hours=input('enter the number of hours');
minutes=input('enter the number of minutes');
minout=problem_2(days,hours,minutes);
function minout=problem_2(days,hours,minutes)
minout=minutes+(hours*60)+(days*1440)
end
elseif Problem_number==3
x=input('enter a value for x');
y=input('enter a value for y');
[theta,radius]=problem_3(x,y);
function [theta,radius]=problem_3(x,y)
theta=atan2(y,x)
radius=sqrt(x^2+y^2)
end
elseif Problem_number==4
X=[-3 3];
Y=problem_4(X);
function Y=problem_4(X)
Y=0.9*X.^4-12*X.^2-5*X
end
X2=linspace(-4,4,9);
Y2=problem_4(X2);
plot(X2,Y2)
xlabel('x from -4 to 4')
ylabel('problem_4(x)')
title('Problem 4 Graph')
end
end
%My code will not link the if-else statements after the first one and I keep getting improperly nested errors
0 Comments
Answers (1)
Steven Lord
on 31 Mar 2020
You cannot define a nested function inside an if statement. This is the second item listed in the "Requirements for Nested Functions" section on this documentation page.
Move the definition of the function to the end of your main function if you need it to be nested inside that function or move it after the end of the main function if it doesn't need to be nested.
0 Comments
See Also
Categories
Find more on Matrix Indexing in Help Center and File Exchange
Products
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!