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

 Akzeptierte Antwort

Stephen23
Stephen23 am 25 Jan. 2016
Bearbeitet: Stephen23 am 25 Jan. 2016

1 Stimme

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 Kommentar

Joshua Hall
Joshua Hall am 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

Melden Sie sich an, um zu kommentieren.

Weitere Antworten (0)

Community Treasure Hunt

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

Start Hunting!

Translated by