zhang314hui 发表于 2009-8-22 09:54

help 归一化

这是我编的程序
可是为什么y总是归一化不了,因为y表示的是概率,所以要归一化
帮我看下是不是有问题那

function =ps(x,a,b,c,k,D);
a=0.25; b=1; c=1.8; k=2; D=0.01;
m=-(b+x*x)/c-k*x*x/c/(a-x);
out=exp(((1+x)*m-m*m/2)/D);


clear all; clf
N=1; y=1;
a=0.25; b=1; c=1.8; k=2; D=0.01;
x=0.01:0.0001:5.01;
for i=1:50001;
    y(i)=ps(x(i),a,b,c,k,D);
end
N=trapz(x,y); y=y/N;
figure(1); plot(x,y,'k-');归一化

[ 本帖最后由 ChaChing 于 2009-8-23 14:49 编辑 ]

无水1324 发表于 2009-8-23 11:50

没有看懂,哪部分程序是归一化阿?

ChaChing 发表于 2009-8-23 12:42

delete or combine ?
http://forum.vibunion.com/forum/viewthread.php?tid=85647&highlight=已删除

[ 本帖最后由 ChaChing 于 2009-8-23 15:34 编辑 ]

无水1324 发表于 2009-8-23 14:13

回复 板凳 ChaChing 的帖子

原来matlab的删除,把这个移动过来了!

ChaChing 发表于 2009-8-23 15:02

回复 地板 无水1324 的帖子

跟偶相同想法, 这次坏人无水院长做!:lol

ChaChing 发表于 2009-8-23 15:59

如无水院长所说, 没说清楚很难猜测!
先说说一些小建议
1.a,b,c,k,D为输入引数, 在函数第一行又重新定义, 有点矛盾多馀, 建议拿掉
2.LZ原程序的写法是归一化面积!
3.猜测LZ是否要, y总合为1(是吗?), 将N=trapz(x,y);改为N=sum(y)
4.猜测LZ是否要, y最大值为1(是吗?), 将N=trapz(x,y);改为N=max(y)

VibrationMaster 发表于 2009-8-23 22:04

x 是否从-5算起?你的是啥分布?

zhang314hui 发表于 2009-8-24 15:31

回复 沙发 无水1324 的帖子

N=trapz(x,y); y=y/N 是归一化 也就是使得y总小于1
因为如果f=ny(x)
则n为归一化系数,n就等于1除以y(x)对x积分
谢谢
那若是在matlab里归一化一般是怎么算呢

[ 本帖最后由 ChaChing 于 2009-8-24 16:16 编辑 ]

zhang314hui 发表于 2009-8-24 15:41

回复 6楼 ChaChing 的帖子

好的 我试试 谢谢你 我想要总和为1 。。。

无水1324 发表于 2009-8-24 21:34

回复 8楼 zhang314hui 的帖子

我认为就是除以 ( 元素平方和开根号)这样子归一化吧,我只是猜测你的意图,

zhang314hui 发表于 2009-9-1 09:57

回复 6楼 ChaChing 的帖子

为什么步长变了 p值就又变了呢

ChaChing 发表于 2009-9-1 16:28

没有看懂, p是什么?

friendchj 发表于 2009-9-1 16:49

关于归一化,参考一下:
http://forum.vibunion.com/UChome/space-89781-do-blog-id-17783.html

zhang314hui 发表于 2009-9-1 18:17

回复 11楼 zhang314hui 的帖子

不好意思是y 值

ChaChing 发表于 2009-9-1 20:58

归一化使得y总等于1, 步长变了总点数变了, y的最大值当然变了!
LZ到底是要, 归一化面积, y总或 y最大值?
页: [1] 2
查看完整版本: help 归一化