8# zyner 我的整个程序是这样的:
global x tx T
tmpdata = xlsread('D:\MATLAB\work\1','Sheet1','g2:i16850');
x = tmpdata(:,1);
tx = tmpdata(:,2);
T = tmpdata(:,3);
clear tmpdata;
lb = .0001 * ones(1,4);
ub = 20 * ones(1,4);
initial = ones(1,4);
[params ll] = fmincon('pareto_nbd_ll',initial,[],[],[],[],lb,ub)
params=[1,1,1,1];
r = params(1); alpha = params(2);
s = params(3); beta = params(4);
maxab = max(alpha,beta);
absab = abs(alpha-beta);
param2 = s+1;
if alpha < beta
param2 = r+x;
end
F0 = (alpha+T).^(r+x).*(beta+T).^s;
F1=h2f1(r+s+x,param2,r+s+x+1,absab./(maxab+tx))./...
((maxab+tx).^(r+s+x));
F2=h2f1(r+s+x,param2,r+s+x+1,absab./(maxab+T))./...
((maxab+T).^(r+s+x));
pactive = 1./(1+(s./(r+s+x)).*F0 .*(F1-F2));
xlswrite('1.xls',pactive,'Sheet1','J2');
表名就是如您所说的那样从1到3000,现在就是差如何循环倒入数据,每一个表计算出一个结果并依次写入相应的表格,您能否具体点帮我改一下程序,不胜感激啊!!!