|
| » 首页 » 电脑_数码 » 编程 » 求教一道MATLAB的编程,很着急!! |
求教一道MATLAB的编程,很着急!! |
|
程序:用公式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的编程,很着急!!》答案收集时间:2008-06-14 14:43:44 |