multipdf.m

来自「卡尔曼滤波器的matlab代码是卡尔曼滤波MATLAB工具箱」· M 代码 · 共 45 行

M
45
字号
function p = multipdf(x,theta)%MULTIPDF Multinomial probability density function.%   p = multipdf(x,theta) returns the probabilities of %   vector x, under the multinomial distribution%   with parameter vector theta.%%   Author: David Ross%--------------------------------------------------------% Check the arguments.%--------------------------------------------------------error(nargchk(2,2,nargin));% make sure theta is a vectorif ndims(theta) > 2 | all(size(theta) > 1)    error('theta must be a vector');end% make sure x is of the appropriate sizeif ndims(x) > 2 | any(size(x) ~= size(theta))    error('columns of X must have same length as theta');end%--------------------------------------------------------% Main...%--------------------------------------------------------p = prod(theta .^ x);p = p .* factorial(sum(x)) ./ prod(factorial_v(x));%--------------------------------------------------------% Function factorial_v(x): computes the factorial function% on each element of x%--------------------------------------------------------function r = factorial_v(x)if size(x,2) == 1    x = x';endr = [];for y = x    r = [r factorial(y)];end

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?