I can't use the output from my function

9 views (last 30 days)
Here is a simple function I created to generate the nth Fibonacci number:
function []=Fib(n)
sn(1) = 1;
sn(2) = 1;
for i=3:n
sn(i)=sn(i-1)+sn(i-2);
end
sn(n)
end
So Fib(5) give me ans = 5 However, when I try to execute "Fib(5)*2" I get the message "Too many output arguments" This is really really basic stuff, but I have no idea how to work Matlab and would appreciate some help. Thanks

Accepted Answer

Stephen23
Stephen23 on 25 Jan 2016
Edited: Stephen23 on 25 Jan 2016
Change the function definition to specify sn as an output:
function sn = Fib(n)
The line you wrote
sn(n)
does not output anything, it just displays a value in the command window. You can read in the documentation about how to define functions properly:
Bonus Tips
Learning MATLAB means learning lots of new things. A good place to start are by doing these tutorials:
and reading this advice for beginners:
  1 Comment
Joshua Hall
Joshua Hall on 25 Jan 2016
Thanks! It's now giving me all of the Fibonacci numbers rather than just the nth one, but I think I can fix it

Sign in to comment.

More Answers (0)

Categories

Find more on Get Started with MATLAB 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!