What is the purpose of this line in MATLAB's "factorial.m" function?
2 visualizzazioni (ultimi 30 giorni)
Mostra commenti meno recenti
EDIT: I have removed the rest of the FACTORIAL function in this post as per Jan's suggestion. To explain myself, I did consider whether posting a MATLAB function to Answers is copyright infringement. I didn't think so because the code is in MATLAB's language...and I didn't think it would be that helpful for a nefarious party to see a function in MATLAB like this. I may be mistaken, though, and will refrain from posting any MATLAB code from now on. But my question still stands...
I am confused about a line in MATLAB's FACTORIAL function. If you type "open factorial" in the command window and check (somewhere around) line 20, it says:
m = max([1; n(:)]);
n(:) is an array of real, nonnegative integers. 1 is appended to n(:) and that is passed to the MAX function...the only reason I can see for that 1 is to prevent MAX from returning 0 if n(:) consists entirely of 0's. But the rest of the code doesn't seem to require the MAX to return 1 instead of 0. What could be the purpose of this appended 1? I ask because I'm just learning MATLAB and may be mistaken in thinking this extra 1 is unnecessary.
2 Commenti
Jan
il 17 Giu 2012
It is surprising that you do not hesitate to publish the code of a toolbox function. Please read this again:
edit(fullfile(matlabroot, 'license.txt')), Software License Agreement, section 4.5.
Then I suggest to remove the source code fast.
Risposta accettata
Più risposte (1)
Geoff
il 18 Giu 2012
I would hazard that it is there to handle the special case of computing zero-factorial, which of course is 1.
Vedere anche
Categorie
Scopri di più su Entering Commands in Help Center e File Exchange
Prodotti
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!