Why this code is error???

1 view (last 30 days)
Jukkrid Boonlkom on 15 Feb 2018
Commented: Jan on 16 Feb 2018
clc,clear all,close all;
x = [0 1 2 3];
y = [0 1 2 3];
f3 = 6./(factorial(x).*factorial(3-x));
f4 = 24./(factorial(y).*factorial(4-y));
f5 = 120./(factorial(3+(-x)+(-y)).*factorial(2+x+y));
mpd = (f3.*f4.*f5)./220;
stem3(x,y,mpd);
xlabel('x'); ylabel('y'); zlabel('mpd');

Jukkrid Boonlkom on 15 Feb 2018
If I wanted to make x + y> 3 to f5 = 1, then how to do?
RB Blackstone on 16 Feb 2018
This part of the equation produced negative integers.
>> 3+-x+-y
Ans = 3 1 -1 -3
Factorial() requires non-negative integers.

C.J. Harris on 15 Feb 2018
Because given your definitions of x and y, the expression 3+(-x)+(-y) results in [3 1 -1 -3], and you cannot calculate the factorial of a negative number.

Jukkrid Boonlkom on 15 Feb 2018
So what should I do? Can I change 3-x-y?
Jan on 16 Feb 2018
@Jukkrid Boonlkom: How could the readers know, what you want to do. All we see is the failing code, which cannot work for mathematical reasons. This does not allow to suggest a modification, because you did not tell yet, what you want to calculate.