What is the purpose of this line in MATLAB's "factorial.m" function?
2 ビュー (過去 30 日間)
古いコメントを表示
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 件のコメント
Jan
2012 年 6 月 17 日
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.
採用された回答
その他の回答 (1 件)
Geoff
2012 年 6 月 18 日
I would hazard that it is there to handle the special case of computing zero-factorial, which of course is 1.
参考
カテゴリ
Help Center および File Exchange で Entering Commands についてさらに検索
製品
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!