Undefined function 'Trapzoid' for input arguments of type 'double'.

2 views (last 30 days)
Hi, i keep getting this error:
Undefined function 'Trapzoid' for input arguments of type 'double'.
below are my codes:
function [output]=Trapzoid(a,b)
logN=1:8
N=zeros(1,8);
A=zeros(1,8);
for j=1:8
N(j)=10^(logN(j));
h=1/N(j);
x=a:h:b;
for i=1:N(j)+1 y(i)=exp(x(i));
end
for i=1:N(j)
A(j)=A(j)+0.5*h*(y(i)+y(i+1));
end
B(j)=log(abs(exp(1)-1-A(j)));
end
whenever i call for function Trapzoid(a,b) for eg, trapzoid(1,8) i will get the error: Undefined function 'Trapzoid' for input arguments of type 'double'. can anyone kindly advise on what actually went wrong? Much Thanks in advance!

Accepted Answer

Jan
Jan on 7 Feb 2015
Note:
x = a:h:b;
for i=1:N(j)+1
y(i)=exp(x(i));
end
is less efficient than:
y = exp(a:h:b);

More Answers (1)

Star Strider
Star Strider on 6 Feb 2015
You have to save your ‘Trapezoid’ function in its own file called specifically ‘Trapezoid.m’ in your MATLAB search path. Note that MATLAB is case-sensitive, so calling it as ‘trapezoid(1,8)’ will throw the error. Call it as ‘Trapezoid(1,8)’, and if it is in your MATLAB path, you will not get that error.

Categories

Find more on Introduction to Installation and Licensing 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!