|
|
[求助]
Matlab求解钛卷径向导热系数-黄金分割法
各位大侠,小弟正在做钢卷退火的数值仿真,需要通过实验和编程来求解钢卷的径向导热系数,我参考的文献是《铝卷径向等效导热系数的仿真_李建平2009》、《钛带卷真空退火传热过程的数值模拟_陈临夏2012》,文献中采用的黄金分割法来优化目标函数,我搞不明白,跪求大侠指点!
小弟现在只有5个金币,全部金币奉上,以示诚意!
以下我找的住程序和黄金分割法Matlab代码,但是我不知道文献中的目标函数J(k)怎么输入,然后怎么进行迭代的。
主程序:
syms x a b e; %定义变量
a=input('搜索区间的第一点\a='); %确定搜索区间
b=input('搜索区间的第二点\b=');
e=input('搜索精度\ne='); %收敛精度
disp('需求的优化函数f=f(x),调用xmin=golden(f,a,b,e)');
黄金分割法代码:
function xmin=golden(f,a,b,e)
k=0;
a1=b-0.618*(b-a); %插入点的值
a2=a+0.618*(b-a);
while b-a>e %循环条件
y1=subs(f,a1);
y2=subs(f,a2);
if y1>y2 %比较插入点的函数值的大小
a=a1; %进行换名
a1=a2;
y1=y2;
a2=a+0.618*(b-a);
else
b=a2;
a2=a1;
y2=y1;
a1=b-0.618*(b-a);
end
k=k+1;
end %迭代到满足条件为止就停止迭代
xmin=(a+b)/2;
fmin=subs(f,xmin) %输出函数的最优值
fprintf('k=\n'); %输出迭代次数
disp(k);
![Matlab求解钛卷径向导热系数-黄金分割法]()
1.png
![Matlab求解钛卷径向导热系数-黄金分割法-1]()
2.png |
|