楼主: qiuguihua2000
4127 1

一段计算分位数的程序,哪位帮忙看看。 [推广有奖]

  • 0关注
  • 0粉丝

硕士生

19%

还不是VIP/贵宾

-

威望
0
论坛币
8312 个
通用积分
1.4467
学术水平
0 点
热心指数
0 点
信用等级
0 点
经验
1303 点
帖子
198
精华
0
在线时间
24 小时
注册时间
2006-12-27
最后登录
2022-12-12

+2 论坛币
k人 参与回答

经管之家送您一份

应届毕业生专属福利!

求职就业群
赵安豆老师微信:zhaoandou666

经管之家联合CDA

送您一个全额奖学金名额~ !

感谢您参与论坛问题回答

经管之家送您两个论坛币!

+2 论坛币

function qth=quantle(p)
    A=-5;
    M2=100;
    qth=0;
    for i=1:length(k)
        for j=1:M2
            B=A+j*(0-A)/M2;
            if simprl(gst(B),A,B)-P<=0.00001
            qth(i)=B;
            break
            end
        end
            qth;

function s=simprl(f,a,b)
M1=10000
h=(b-1)/(2*M1);
s1=0;
s2=0;
for k=1:M1
    x=a+h*(2*k-1);
    s1=s1+feval(f,x);
end
for k=1:(M1-1)
    x=a+h*2*k;
    s2=s2+feval(f,x);
end
s=h.*(feval(f,a)+feval(f,b)+4.*s1+2.*s2)./3;

function f=gst(x)
global k n lambda sigma
slambda=(1+3.*lambda.^2-4.*lambda.^2.*beta(2./k,(n-1)./k).^2.*beta(3./k,(n-2)./k).^(-1)).^1/2;
c=0.5.*k.*beta(1./k,n./k).^(-3/2).*beta(3./k,(n-2)./k).^1/2.*slambda.*sigma.^(-1);
theta=(k./(n-2)).^1/k.*beta(1./k,n./k).^1/2.*beta(3./k,(n-2)./k).^(-1/2).*slambda^(-1);
if x<0
    f=c.*(1+(k./(n-2)).*theta.^(-k).*(1-lambda).^(-k).*(abs(x./sigma)).^k).^(-(n+1)./k);
else
    f=c.*(1+(k./(n-2)).*theta.^(-k).*(1+lambda).^(-k).*(abs(x./sigma)).^k).^(-(n+1)./k);
end
f;
前面的是三个程序,第一个程序是主程序要调用第二个程序,第二个程序要调用第三个程序。

其中第一个程序是计算分位数的,当函数gst在A-B区间的面积与q的差小于0.0001时就把B作为对应q水平下的分位数,

第二个程序是用来计算函数gst在A-B区间的积分的,

第三个函数是定义函数gst的。

其中已知的变量是  k ,n, lambda 和sigma 都是个数在2000个左右的序列,为函数gst 的参数是时变的,且是已知的。

要求当 k ,n, lambda 和sigma 为某一组值时求函数gst函数对应的分位数。也就是要求2000个左右的分位数,对应于2000个左右的gst参数。

运行提示:

>> quantle(0.5)
??? Error using ==> times
Matrix dimensions must agree.

Error in ==> gst at 5
theta=(k./(n-2)).^1/k.*beta(1./k,n./k).^1/2.*beta(3./k,(n-2)./k).^(-1/2).*slambda^(-1);

Error in ==> quantle at 6
        if simprl(gst(B),A,B)-P<=0.00001

哪位高手帮帮忙,刚开始学matlab编程没有几天,实在是急着要,没有办法,谢谢大家了。

二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

关键词:分位数 Dimensions dimension function matrix 程序 帮忙 位数

我帅,故,我在。
沙发
qiuguihua2000 发表于 2008-10-30 23:30:00 |只看作者 |坛友微信交流群

咋就没有人帮忙呢

我帅,故,我在。

使用道具

您需要登录后才可以回帖 登录 | 我要注册

本版微信群
加好友,备注cda
拉您进交流群

京ICP备16021002-2号 京B2-20170662号 京公网安备 11010802022788号 论坛法律顾问:王进律师 知识产权保护声明   免责及隐私声明

GMT+8, 2024-5-1 01:01