» 首页 » 电脑_数码 » 编程 » 求教一道MATLAB的编程,很着急!!

求教一道MATLAB的编程,很着急!!

已知:A=100, k=117, E0 =1
程序:用公式En=A*En-1/(n+A*En-1),求得Ek
用公式U=(1-Ek)*A/k,求得U
怎样在MATLAB里编程?
(注:n-1是小角标)

补充:1,若我不断改变A,k的取值,怎么在MATLAB里画出图形呢?
2.若每取一次A,k的值,求出一次置信区间,能否将置信区间也表示在图中?求教具体的程序,多谢啦!!


单个值可以这样
A=100;
k=117;
E0=1;
E=zeros(1,length(k));
E(1)=A*E0/(1+A*E0);
for n=2:k
E(n)=A*E(n-1)/(n+A*E(n-1));
end
U=(1-E(k))*A/k

多个值,可以这样:
%%中间可能有一些计算冗余,不管了。哈哈。
>> A=80:120;
>> k=80:120;
>> E0=1;
>> [AA,kk]=meshgrid(A,k);
U=zeros(size(AA));

for AAA=1:length(A)
for kkk=1:length(k)
E=E0;
for i=1:k
E=AAA*E/(i+AAA*E);
end
U(kkk,AAA)=(1-E)*AAA/kkk;
end
end

surf(AA,kk,U)
shading interp
xlabel('A');
ylabel('k');
zlabel('U');

单个值可以这样
A=100;
k=117;
E0=1;
E=zeros(1,length(k));
E(1)=A*E0/(1+A*E0);
for n=2:k
E(n)=A*E(n-1)/(n+A*E(n-1));
end
U=(1-E(k))*A/k

多个值,可以这样:
%%中间可能有一些计算冗余,不管了。哈哈。
>> A=80:120;
>> k=80:120;
>> E0=1;
>> [AA,kk]=meshgrid(A,k);
U=zeros(size(AA));

for AAA=1:length(A)
for kkk=1:length(k)
E=E0;
for i=1:k
E=AAA*E/(i+AAA*E);
end
U(kkk,AAA)=(1-E)*AAA/kkk;
end
end

surf(AA,kk,U)
shading interp
xlabel('A');
ylabel('k');
zlabel('U');

clear
A=1:100;
k=117;
E(1,:)=A./(1+A);
for n=2:k
E(n,:)=A.*E(n-1,:)./(n+A.*E(n-1,:));
end
N=repmat(1:k,length(A),1)';
U=repmat(A,k,1).*(1-E)./N;
plot(N,U)

画出100条曲线,对应A=1:100
横坐标为k=1:117
纵坐标为U

 相关问题
·求教一道MATLAB的编程,很着急!!
·VC++6.0中如何实现文件目录选择,并获得路径字符串
·php中有没有计算机日期差的函数?想做个倒计时
·谁能帮我具体解释一下这段程序。这段程序是为了实现将二...
·QQ291265153这个Q好吗
·求一个关于最后一条记录的SQL语句 急 急
·perl数组问题
·用CyberArticle Reader制作的EXE电子书怎样还原
·谁教我写一个简单的下拉菜单(ASP)
·不适合编程怎么办
·帮忙看看我的ASP程序错在哪里
·请教数据库高手~
·帮忙看下我的ASP程序错在哪里
·我想学习编程,不知道怎么开始,谁能帮忙告诉我,开始该怎么...
·MATLAB小程序请高手帮忙修改

 《求教一道MATLAB的编程,很着急!!》答案收集时间:2008-06-14 14:43:44



©2007 电脑技术问答录