四川做网站的公司免费跨国浏览器
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼

目标:利用数组中的数据拟合得到(a,b,c,d,e,f)
问题:
1. 尝试cftool,由于数组太大无法运算,有无解决办法?
2. matlab编程,采用多个嵌套for循环(源程序附在后面或附件里),方差最小为目标函数,但运行速度太慢,如果想在最多3天内运算获得结果,需要怎么办?
3. 用c++编程能快多少倍,能否解决问题?
4. 求matlab和c++源程序。
load combined_data aa
[m,n]=size(aa);
result=10000*double(ones(10,8));
tran = 1000;
for a=2:0.01:5
for b=0.2:0.01:0.5
for c=0.2:0.01:0.5
for d=0.1:0.01:2
for e=0.8:0.01:1.1
for f=0.2:0.01:0.5
diff_2=0;
for i=1:m
y=a*aa(i,14)^b*(aa(i,21)^c-d*aa(i,16)^e*aa(i,21)^f);
diff_1=(aa(i,22)-y)^2/(m-1);
diff_2=diff_1+diff_2;
end
dev = diff_2;
St_dev =sqrt(dev);
if St_dev
tran = St_dev;
for ii=2:10
for jj=1:8
result(11-ii,jj)=result(12-ii,jj);
end
end
result(1,1)=a;
result(1,2)=b;
result(1,3)=c;
result(1,4)=d;
result(1,5)=e;
result(1,6)=f;
result(1,7)=dev;
result(1,8)=tran;
else end
end
end
end
end
end
end
