th1=zeros(36,2)
th1(:,2) = 1
为了判断优化效果,我们对两种方式每轮执行1百万次,执行10轮,对比执行时间,结果如下:
其中,t1为优化前的时间,t2为优化后的执行时间。
可以看出优化前每轮平均执行时间在1.30~1.42秒左右,优化后每轮平均执行时间在0.95~1.02秒左右
打开matlab2014a程序,在主工具栏找到应用程序一栏,打开optimization选项。问题输入
在optimization程序中,首先根据不同的问题类型选择不同的模型,同时输入约束等。
选择优化程序运行的条件
在最中间的一栏中添加优化程序运行的条件,如优化截止的标准,画图的要求等等。
开始运算
点击start即可实现优化程序的运行,在图示的框中即可出现运行结果。
5
查看帮助文件
在程序的最右边,是一个帮助文件,如果你有什么疑问,可以直接在帮助文件中查找。
建议:取消syms,用数值积分方法先计算积分号里面的东西,而不要用符号积分算法。将下面这段:
syms zw1=mt*t0/(4*pi*M*ne*(DL*DT)^0.5)
w2=exp(x.*u/(2*DL))
B=((u*x./(2*DL)).^2+(u*y).^2/(4*DL*DT)).^0.5
w3=2*besselk(0,B)
w5=int((1/z)*exp(-z-(B.^2/(z*4))),t*u^2/(4*DL),inf)
w4=double(w5)
替换为
w1=mt*t0/(4*pi*M*ne*(DL*DT)^0.5)w2=exp(x.*u/(2*DL))
B=((u*x./(2*DL)).^2+(u*y).^2/(4*DL*DT)).^0.5
w3=2*besselk(0,B)
ifun = @(z,B)(1./z).*exp(-z-(B.^2./(z*4)))
w5=integral(@(z)ifun(z,B),t*u^2/(4*DL),inf)
w4=w5
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)