用matlab编写一个高斯核密度函数上面是高斯核密度函数的形式,h为窗宽,x1,x2,.xn是样本的点,用matlab编写的程序如下:function c=yanyan(x,y,z)n=length(y) zz=vectorize(sum(exp(-(x-y)^2)/(2*z^2)))yux=n*z*(2*pi)^0.5c=zz/

来源:学生作业帮助网 编辑:作业帮 时间:2024/11/17 11:31:07

用matlab编写一个高斯核密度函数上面是高斯核密度函数的形式,h为窗宽,x1,x2,.xn是样本的点,用matlab编写的程序如下:function c=yanyan(x,y,z)n=length(y) zz=vectorize(sum(exp(-(x-y)^2)/(2*z^2)))yux=n*z*(2*pi)^0.5c=zz/
用matlab编写一个高斯核密度函数

上面是高斯核密度函数的形式,h为窗宽,x1,x2,.xn是样本的点,用matlab编写的程序如下:
function c=yanyan(x,y,z)
n=length(y)
 zz=vectorize(sum(exp(-(x-y)^2)/(2*z^2)))
yux=n*z*(2*pi)^0.5
c=zz/yux
end
x----未知数
y----x1,x2.xn这个向量
z-----窗宽
zz是指
这些相加
yux是指

,但是matlab现实too many  input,

用matlab编写一个高斯核密度函数上面是高斯核密度函数的形式,h为窗宽,x1,x2,.xn是样本的点,用matlab编写的程序如下:function c=yanyan(x,y,z)n=length(y) zz=vectorize(sum(exp(-(x-y)^2)/(2*z^2)))yux=n*z*(2*pi)^0.5c=zz/
1、你是怎样调用的?照理说,如果是正常的调用,例如
yanyan(1.5,1:10,.1)
应该会出现Matrix must be square的提示,而不会是too many  input.
 
2、vectorize不是这样用的,它只能把一个char类型的表达式或sym、inline对象给替换成点运算,而对于一个double类型的数值,会强制转换为char类型,可能导致丢失精度(因为char的表示范围有限,即使在中文环境下,范围也只是0-65535,而且只能是整数).
 
3、表达式写错了,把2h^2给放到指数函数外面了,也就是说
exp(-(x-y)^2)/(2*z^2)
应为
exp(-(x-y)^2/(2*z^2))
 
4、可以简单修改如下:
function c=yanyan(x,y,z)
n=length(y);
zz=sum(exp(-(x-y).^2/(2*z^2)));
yux=n*z*(2*pi)^0.5;
c=zz/yux;
但这样的写法不支持x为向量的情况,可以考虑改成
function c=yanyan(x,y,z)
n=length(y);
yux=n*z*(2*pi)^0.5;
c=arrayfun(@(x)sum(exp(-(x-y).^2/(2*z^2))),x)/yux;

用matlab编写一个高斯核密度函数上面是高斯核密度函数的形式,h为窗宽,x1,x2,.xn是样本的点,用matlab编写的程序如下:function c=yanyan(x,y,z)n=length(y) zz=vectorize(sum(exp(-(x-y)^2)/(2*z^2)))yux=n*z*(2*pi)^0.5c=zz/ 如何用matlab编写一个分段函数 求用Matlab编写这个函数, matlab 编写函数 【matlab】编写函数题 用MATLAB编写函数:编写一个函数文件,以向量为参数,对向量元素进行排序并输出 我要用matlab编写一个分段函数;当想x=3,y=x^2,怎么编写? 用matlab编写可以返回一个或两个值的函数,是什么意思? 【Matlab】Matlab中如何编写S函数 【Matlab】Matlab中如何编写S函数 怎么用matlab编写最佳平方逼近函数 matlab​根据函数表达式编写M函数,分别计算在处的函数值,并画出函数曲线图根据上面函数表达式编写M函数,分别计算在处的函数值,并画出函数曲线图用matlab做给出具体程序和步骤某大神你 用matlab编写arcsin函数新手,不会写,还请大神给我一个参考答案.谢谢啦. 如何用matlab得到白噪声的自相关函数和功率谱密度?比如我用wgn(1,2048,2*pi)产生一个均值为1 的高斯白噪声,那么如何编写程序求它的自相关函数,进而求得功率谱密度, 利用matlab,编写一个函数,该函数依次输出数组的最大值,最小值,平均值,元素总数 用matlab编写一个程序:求出200以内的质数, 谁能做一下用matlab编写一个m文件x (x 用MATLAB编写一个M文件求求三角形周长