Labfans是一个针对大学生、工程师和科研工作者的技术社区。 论坛首页 | 联系我们(Contact Us)
MATLAB爱好者论坛-LabFans.com
返回   MATLAB爱好者论坛-LabFans.com > 工程数学软件 > MATLAB论坛
MATLAB论坛 一切MATLAB相关问题在此讨论。
回复
 
主题工具 显示模式
旧 2010-06-27, 22:41   #1
安ann
初级会员
 
注册日期: 2010-05-13
帖子: 3
声望力: 0
安ann 正向着好的方向发展
默认 急急急,求助

function [tc,dd]=linjiejianxi(r1,a1) % r1拒绝间隙向量,a1接受间隙向量,都为列向量
r1=[2:3:5:3:3:4:3:3:3:5]';
a1=[4:8:7:8:9:8:5:8:9:10]';
r=log(r1); %赋初值
a=log(a1);
w=ones(length(r1),1);
y=[0.1 2 6 1];
f=[2 2 2];
g=[2 2 2];
x=[1 9 1 1];
while 1
x(1)=1;
x(2)=9;
while abs(f(3))>10^(-10) %计算均值
for i=1:2
f(i)=(normpdf(r,x(i),y(3))-normpdf(a,x(i),y(3)))./(normcdf(a,x(i),y(3))-normcdf(r,x(i),y(3)))*w;
end
x(3)=(x(1)*f(2)-x(2)*f(1))/(f(2)-f(1));
f(3)=(normpdf(r,x(3),y(3))-normpdf(a,x(3),y(3)))./(normcdf(a,x(3),y(3))-normcdf(r,x(3),y(3)))*w;
if f(3)*f(1)>0
f(1)=f(3);
x(1)=x(3);
else
x(2)=x(3);
end
end
x;
y(1)=0.1;
y(2)=5;
while abs(g(3))>10^(-10) %计算方差
for i=1:2
g(i)=((r-x(3)).*normpdf(r,x(3),y(i))-(a-x(3)).*normpdf(a,x(3),y(i)))./(normcdf(a,x(3),y(i))-normcdf(r,x(3),y(i)))*w;
end
y(3)=(y(1)*g(2)-y(2)*g(1))/(g(2)-g(1));
g(3)=((r-x(3)).*normpdf(r,x(3),y(3))-(a-x(3)).*normpdf(a,x(3),y(3)))./(normcdf(a,x(3),y(3))-normcdf(r,x(3),y(3)))*w;
if g(3)*g(1)>0
g(1)=g(3);
y(1)=y(3);
else
y(2)=y(3);
end
end
y;
if abs(x(4)-x(3))<10^(-5)&abs(y(4)-y(3))<10^(-5)
break;
end
x(4)=x(3);
y(4)=y(3);
end
x;
y;
tc=exp(x(3)+0.5*y(4)*y(4)); %输出临界间隙均值tc值
dd=(tc*tc*(exp(y(4)*y(4))-1))^(0.5); %输出临界间隙方差


请教哪里有问题啊,很着急,谢谢各位高手啊
安ann 当前离线   回复时引用此帖
旧 2010-06-28, 07:46   #2
yfl
高级会员
 
yfl 的头像
 
注册日期: 2009-04-11
年龄: 38
帖子: 138
声望力: 19
yfl 正向着好的方向发展
默认 回复: 急急急,求助

请把出错信息和你看不懂的地方贴出来,这样笼统的提问别人看着很费劲的。
__________________

看帖回帖,就是对我们最大的支持!
yfl 当前离线   回复时引用此帖
旧 2010-06-28, 22:40   #3
安ann
初级会员
 
注册日期: 2010-05-13
帖子: 3
声望力: 0
安ann 正向着好的方向发展
默认 回复: 急急急,求助

function [tc,dd]=linjiejianxi(r1,a1) % r1拒绝间隙向量,a1接受间隙向量,都为列向量
这在运行的时候就出现问题了
安ann 当前离线   回复时引用此帖
旧 2010-06-29, 08:51   #4
yfl
高级会员
 
yfl 的头像
 
注册日期: 2009-04-11
年龄: 38
帖子: 138
声望力: 19
yfl 正向着好的方向发展
默认 回复: 急急急,求助

引用:
作者: 安ann 查看帖子
function [tc,dd]=linjiejianxi(r1,a1) % r1拒绝间隙向量,a1接受间隙向量,都为列向量
这在运行的时候就出现问题了
这一句是定义了一个函数,其中[tc,dd]是输出,r1,a1是输入参数,linjiejianxi是一个函数名,肯定不能直接运行这一句啊
__________________

看帖回帖,就是对我们最大的支持!
yfl 当前离线   回复时引用此帖
旧 2010-06-29, 09:22   #5
yfl
高级会员
 
yfl 的头像
 
注册日期: 2009-04-11
年龄: 38
帖子: 138
声望力: 19
yfl 正向着好的方向发展
默认 回复: 急急急,求助

你这个程序问题不少啊
首先r1=[2:3:5:3:3:4:3:3:3:5]';
a1=[4:8:7:8:9:8:5:8:9:10]';
列向量不是这样表示的啊,把:改成;或空格
其次normpdf(r,x(i),y(3))和normcdf(a,x(i),y(3))的返回值是和r维数相等的向量,那么最后结果不能保存为f(i),而是f{i}
因为你这个程序的计算理论我不懂,所以有些东西也没法给你改,你还是在认真看看吧,把问题逐一的贴出来。
__________________

看帖回帖,就是对我们最大的支持!
yfl 当前离线   回复时引用此帖
回复

主题工具
显示模式

发帖规则
不可以发表新主题
不可以发表回复
不可以上传附件
不可以编辑自己的帖子

启用 BB 代码
论坛启用 表情符号
论坛启用 [IMG] 代码
论坛禁用 HTML 代码



所有时间均为北京时间。现在的时间是 01:27


Powered by vBulletin
版权所有 ©2000 - 2025,Jelsoft Enterprises Ltd.