楼主: lijing8712
6184 29

急求MATLAB指点!!! [推广有奖]

11
lijing8712 发表于 2011-4-7 16:37:36
能麻烦您再跟我说下那个已知ARL的值,怎么列出目标函数?能不能麻烦您再指点一下?谢谢啦!!!

12
lijing8712 发表于 2011-4-7 16:39:42
麻烦能不能再跟我说一下啊那个已知ARL的值,如何列出目标函数,我算了很久,没有找到思路,能不能麻烦您再给指点一下?谢谢啦!!!

13
epoh 发表于 2011-4-8 16:33:23
optimpara.m
optimpara.rar (374 Bytes) 本附件包括:
  • optimpara.m

%x(1)=r smoothing parameter
%x(2)=L control limit
%in matlab command window

ARL0=500;  %in-control ARL
k=100;
x0 = [0.13;2.5];  %initial value of r & L
lb=[0.1;2.3];      %lower bound of r & L
ub=[0.2;3.3];     %upper bound of r & L
[x,fval] = fmincon(@(x)optimpara(x,ARL0,k),x0,[],[],[],[],lb,ub)
%x =
%     0.1093  (r)
%     2.8374  (L)
已有 1 人评分学术水平 热心指数 信用等级 收起 理由
uu207 + 1 + 1 + 1 好心人

总评分: 学术水平 + 1  热心指数 + 1  信用等级 + 1   查看全部评分

14
lijing8712 发表于 2011-4-13 16:00:42
谢谢您的帮助,真是十分感谢!!!!

15
uu207 发表于 2011-4-26 18:57:35
您好!可以帮我看看这段程序吗?好像是矩阵a\b维度不同问题,我修改不好,麻烦您指导一下,谢谢了!!!
echo off all
clear
clc
m=3;mu=0;v=1;s=0;d=3;fi=0.6;
rfi(1)=0;rfi(2)=0.3;rfi(3)=-0.3;rfi(4)=0.6;rfi(5)=-0.6;rfi(6)=0.9;rfi(7)=-0.9;
deta=0:0.25:d;h=0.05;n=2*fix(m/h);nn=n+1;
one=eye(nn,nn); b=ones(nn,1)*-1;
ai=zeros(nn,1);
bi=ai;n1=ai;n2=ai;
y=zeros(7,length(deta));
for i=1:nn
    bi(i)=mu+m;
    ai(i)=mu-m;
    n1(i)=fix((ai(i)+m-mu)/h)+1;
    n2(i)=fix((bi(i)+m-mu)/h)+1;
end
for r=1:7
for k=1:length(deta)
    a=zeros(nn,nn);
    for i=1:nn
        at=zeros(1,nn);
        for j=1:nn
            if j>n1(i) && j<n2(i)
                xx=ai(i)+h*(j-n1(i))-rfi(r)*s*(-m+h*(i-1))-(1-rfi(r))*(mu+deta(k)*v);
                at(1,j)=h*normpdf(xx,0,v);
            elseif j==n1(i)
                xx=ai(i)-rfi(r)*s*(-m+h*(i-1))-(1-rfi(r))*(mu+deta(k)*v);
                at(1,j)=(h/2)*normpdf(xx,0,v);
            elseif j==n2(i)
                xx=bi(i)-rfi(r)*s*(-m+h*(i-1))-(1-rfi(r))*(mu+deta(k)*v);
                at(1,j)=(h/2)*normpdf(xx,0,v);
            end
        end
            a(i,:)=at(1,:);
    end
       a=a-one;
       if det(a)==0
           disp "ZERO  DETERMINANT FOR LIEAR SYSTEM"
       else
           x=a/b;
           arl(k)=(h/2)*(normdf(mu-m-(1-rfi(r))*(mu+deta(k)*v),0,1)*x(1)+normpdf(mu+m-(1-rfi(r))*(mu+deta(k)*v),0,1)*x(nn));
           arg=noempdf(h*(1:1:n-1)+mu-m-(1-rfi(r))*(mu+deta(k)*v),0,1);
           x=x(2:n);
           arl(k)=arl(k)+arg*h*x+1;
       end
end
y(r,:)=arl;
end

4# epoh

16
epoh 发表于 2011-4-26 20:54:43
a*x=b;
       x=inv(a)*b;
or  x=a\b;     NOT x=a/b;

%%%%%%
>>arl
369.640058965427        165.297773402873        49.4015923573809        17.3397569610425       
7.36830241838697        3.75899855126688        2.27069067418857        1.59392055997436       
1.26888044175189        1.11259659132598        1.04176499631875        1.01322889570437       
1.00348493714105

17
uu207 发表于 2011-5-1 11:23:22
您好!我运行R,结果说没有这个函数,像下面说的:

> xewma.ad(l=0.13,c=2.88,mu1=0,mu0=0,zr=0,sided="two",limits="fix",r=40)
错误: 没有"xewma.ad"这个函数

请问这是什么原因?  谢谢!!!
4# epoh

18
epoh 发表于 2011-5-1 11:42:40
pls install package "spc"
in R command window
install.packages("spc")

then
library(spc)

19
uu207 发表于 2011-5-1 12:57:28
谢谢高人指导!!!! 18# epoh

20
uu207 发表于 2011-5-1 21:27:18
您好!再请教一个问题,还是这个积分函数,开始是基于AR(1)过程求休哈特图的ARL,如果求解EWMA图的ARL,怎样修改积分限,谢谢!
echo off all
clear
clc
m=3;mu=0;v=1;s=0;d=3;fi=0.6;
rfi(1)=0;rfi(2)=0.3;rfi(3)=-0.3;rfi(4)=0.6;rfi(5)=-0.6;rfi(6)=0.9;rfi(7)=-0.9;
deta=0:0.25:d;h=0.05;n=2*fix(m/h);nn=n+1;
one=eye(nn,nn); b=ones(nn,1)*-1;
ai=zeros(nn,1);
bi=ai;n1=ai;n2=ai;
y=zeros(7,length(deta));
for i=1:nn
    bi(i)=mu+m;
    ai(i)=mu-m;
    n1(i)=fix((ai(i)+m-mu)/h)+1;
    n2(i)=fix((bi(i)+m-mu)/h)+1;
end
for r=1:7
for k=1:length(deta)
    a=zeros(nn,nn);
    for i=1:nn
        at=zeros(1,nn);
        for j=1:nn
            if j>n1(i) && j<n2(i)
                xx=ai(i)+h*(j-n1(i))-rfi(r)*s*(-m+h*(i-1))-(1-rfi(r))*(mu+deta(k)*v);
                at(1,j)=h*normpdf(xx,0,v);
            elseif j==n1(i)
                xx=ai(i)-rfi(r)*s*(-m+h*(i-1))-(1-rfi(r))*(mu+deta(k)*v);
                at(1,j)=(h/2)*normpdf(xx,0,v);
            elseif j==n2(i)
                xx=bi(i)-rfi(r)*s*(-m+h*(i-1))-(1-rfi(r))*(mu+deta(k)*v);
                at(1,j)=(h/2)*normpdf(xx,0,v);
            end
        end
            a(i,:)=at(1,:);
    end
       a=a-one;
       if det(a)==0
           disp "ZERO  DETERMINANT FOR LIEAR SYSTEM"
       else
           x=a\b;
           arl(k)=(h/2)*(normpdf(mu-m-(1-rfi(r))*(mu+deta(k)*v),0,1)*x(1)+normpdf(mu+m-(1-rfi(r))*(mu+deta(k)*v),0,1)*x(nn));
           arg=normpdf(h*(1:1:n-1)+mu-m-(1-rfi(r))*(mu+deta(k)*v),0,1);
           x=x(2:n);
           arl(k)=arl(k)+arg*h*x+1;
       end
end
y(r,:)=arl;
end

18# epoh

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

本版微信群
加好友,备注cda
拉您进交流群
GMT+8, 2025-12-26 06:27