I do not know why I am getting an error, i am trying to hand in this project but i will get a zero if the code can not be read. Please help me.

조회 수: 1 (최근 30일)
Getting an error
Error: Function definitions are not permitted in this context.
% P2 CS101-104 1234
% first LAST
%
function p2_8145 ( NN )
fprintf('%20s %15s %-7d\n','LAST','first',1234);
approx= p2_part_a (NN);
fprintf('%-9d %10.6f\n',NN,approx);
approx= p2_part_b (NN);
fprintf('%-9d %10.6f\n',NN,approx);
approx= p2_part_c (NN);
fprintf('%-9d %10.6f\n',NN,approx);
approx=p2_part_d (NN);
fprintf('%-9d %10.6f\n',NN,approx);
[iter approx]=p2_part_e (NN);
fprintf('e: %-9d %10.6f\n',iter,approx);
end
function v1=p2_part_a (n) %PART A
v1a = 1:2:(2*n+1);
v1b = 1 ./ (v1a);
v1 = 4.*sum(v1b .* vla);
end
function v1=p2_part_b (n) %PART B
v1a=1:4:4*n+1;
v1a=1./v1a;
v1b=3:4:4*n+3;
v1b=1./v1b;
v1=minus(v1a,v1b);
v1=4*sum(v1);
end
function v1=p2_part_c (n) %PART C
v1a= 0:1:n;
v1b= (4 .* vla +1) .* (4 .* vla +3);
v1c= 2 ./ (v1b);
v1 = 4.*sum(v1c);
end
function v1=p2_part_d (n) %PART D
v1=0;
for v1a=0:1:n;
v1b=2*v1a+1;
v1c=(-1)^v1a/v1b;
v1 =v1+(-1)^ v1a / vlb;
end
v1=4*v1;
end
function [ii vl] =p2_part_e () %PART E
vl=0;
ii=0;
v1a= (1/(2*ii+1));
while v1a >= 10^(-7)
v1 = v1+(-1)^ii * vla;
ii=ii+1;
v1a=(1/(2*ii+1));
end
v1 = 4*v1;
end

답변 (2개)

Ken Atwell
Ken Atwell 2015년 4월 30일
You cannot put function declarations inside a MATLAB script. Cut 'n' paste each function into its own file, naming the files p2_part_a.m, p_part_b.m, and so on.

Image Analyst
Image Analyst 2015년 4월 30일
That would be permitted if it was a function in a file called p2_8145.m. But from the error message it looks like those functions are after some script in the same file. What is the name of the m file? Let's say it's called test.m. Then you can have all those functions in test.m if you put this line before any of your script lines:
function test
and since you've chosen to end your functions with the "end" keyword, you'll also need to end test() with an "end" also
function test
% Now code to call the other functions, like p2_8145().....
end
% Now other functions can be listed in the same file.
function p2_8145 ( NN )
and so on......

카테고리

Help CenterFile Exchange에서 Software Development Tools에 대해 자세히 알아보기

제품

Community Treasure Hunt

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

Start Hunting!

Translated by