When i run my code it says Unrecognized function or variable A.

1 次查看(过去 30 天)
function res = my_matlab_function(A,N)
A=4;
N=30;
y(1)=1/2*(3+(A^2/3));
y(2)=1/2*(y(1)+(A^2/y(1)));
y(3)=1/2*(y(2)+(A^2/y(2)));
y(4)=1/2*(y(3)+(A^2/y(3)));
y(5)=1/2*(y(4)+(A^2/y(4)));
for n=6:(N-1)
y(n)=1/2*(y(n-1)+A^2/y(n-1));
end
res=y(end);
disp(['A= ' num2str(A) 'Result=' num2str(res)])
end
%when i call my function:
result = my_matlab_function(A,N)
disp(['A= ' num2str(A) 'Result=' num2str(result)])

采纳的回答

Davide Masiello
Davide Masiello 2022-2-4
You need to define A and N before passing them to the function.
Try this:
A = 4;
N = 30;
result = my_matlab_function(4,30);
function res = my_matlab_function(A,N)
y(1)=1/2*(3+(A^2/3));
y(2)=1/2*(y(1)+(A^2/y(1)));
y(3)=1/2*(y(2)+(A^2/y(2)));
y(4)=1/2*(y(3)+(A^2/y(3)));
y(5)=1/2*(y(4)+(A^2/y(4)));
for n=6:(N-1)
y(n)=1/2*(y(n-1)+A^2/y(n-1));
end
res=y(end);
fprintf('A = %d\n',A)
fprintf('Result = %d\n',res)
end

更多回答(1 个)

Enrico Gambini
Enrico Gambini 2022-2-4
Define A=4 outside the function

标签

Community Treasure Hunt

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

Start Hunting!

Translated by