- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
确定搜索区间子程序:.doc
确定搜索区间子程序:
function [a,b]=range(f,t,t0)
h=1;%固定步长为1
f0=double(subs(f,t,t0));
t2=t0+h;
f2=double(subs(f,t,t2));
if(f2=f0)
t1=t2;f1=f2;h=-h;
else
t1=t0;f1=f0;t0=t2;f0=f2;h=2*h;
end
t2=t0+h;
f2=subs(f,t,t2);
while(f2=f0)
t1=t0;f1=f0;t0=t2;f0=f2;h=2*h;
t2=t0+h;
f2=subs(f,t,t2);
end
c=[t1,t2];
a=min(c);
b=max(c);
直线搜索子程序:
function [y,t3,n]=g_ls(f,t,t0,e)
n=1;
[a,b]=range(f,t,t0);
bt=0.618;
af=0.382;
t2=af+bt*(b-a);
f2=subs(f,t,t2);
t1=a+b-t2;f1=subs(f,t,t1);
while( abs(t1-t2)=e)
n=n+1;
if f1=f2
b=t2;t2=t1;f2=f1;
t1=a+b-t2;f1=subs(f,t,t1);
else
a=t1;t1=t2;f1=f2;t2=af+bt*(b-a);f2=subs(f,t,t2);
end
end
t3=0.5*(t1+t2);
y=double(subs(f,t,t3));
end
改进的最速下降法子程序:
function [y,xx,m]=m_ls(f,x,x0)
k=1;
syms t
j=jacobian(f,x);
p=subs(j,x,x0);
f0=subs(f,x,x0-t*p);
[y,t1]=g_ls(f0,t,0,1e-3);
x1=x0-t1*p;
p=subs(j,x,x1);
f1=subs(f,x,x1-t*p);
[y,tz]=g_ls(f1,t,0,1e-3);
z=x1-tz*p;
p=z-x0;
f0=subs(f,x,z-t*p);
[y,t2]=g_ls(f0,t,0,1e-3);
x2=z-p*t2;
f1=y;
while(h_end(f,x,x1,x2, 1e-5, 1e-5, 1e-4)==0)
x0=x1;
x1=x2;
t1=t2;
k=k+1;
p=subs(j,x,x1);
f1=subs(f,x,x1-t*p);
[y,tz]=g_ls(f1,t,0,1e-3);
z=x1-tz*p;
p=z-x0;
f0=subs(f,x,z-t*p);
[y,t2]=g_ls(f0,t,0,1e-3);
x2=z-p*t2;
f1=y;
end
m=k;
y=y;
xx=x2;
H终止准则子程序:
function y= h_end(f,x,x0,x1,e1,e2,e3)
syms s_x
s_x=x;
grad=jacobian(f,s_x);
f0=double(subs(f,s_x,x0));
f1=double(subs(f,s_x,x1));
gv=norm(double(subs(grad,s_x,x0)));
if (gve3)((norm(x1-x0)/(norm(x0)+1))1)(abs(f1-f0)/(abs(f0)+1)2)
y=1;
else
y=0;
end
主程序:
问题1:求一元函数f(t)=t^4+3*t^2+1的极小点,设初始点t0=0
程序1:syms t
f=t^4+3*t^2+1;
[y,tv,n]=g_ls(f,t,0,1e-3)
结果输出1:
y =1.0000
tv =2.6757e-004
n =58
问题2:计算四元正定二次函数f(x1,x2,x3,x4)=x1^2+2*x2^2+3*x3^2+4*x4^2的极小点,设初始点x0=[1 1 1 1]
程序2:syms x1 x2 x3 x4
f=x1^2+2*x2^2+3*x3^2+4*x4^2;
x=[x1 x2 x3 x4];
x0=[1 1 1 1];
[y,xx,m]=m_ls(f,x,x0)
结果输出2:
y =1.1087e-011
xx =1.0e-005 *
-0.0294 0.0391 0.0971 -0.1402
m = 9
问题3:计算函数f(x1,x2,x3,x4,x5
您可能关注的文档
最近下载
- 浅谈略读课文教学--专题讲座.docx VIP
- 绿色金融复习测试卷.doc
- 2025届高考语文复习:议论文主体段落“五层结构法”写作指导 课件(共47张PPT)(含音频+视频).pptx VIP
- 电子版个人简历模板个人简历模板空白表格.docx VIP
- 摩登家庭台词剧本第一季第一集中英双语左右对照.pdf VIP
- 1:50万新 疆地质图[46幅图].pdf VIP
- SL101-2014 水工钢闸门和启闭机安全检测技术规程.docx VIP
- HK-328W型pH分析仪说明书V3.0.pdf VIP
- 001 三氯甲烷化学品安全技术说明书.doc VIP
- 高考英语语法词汇专项突破:09状语从句专项巩固训练+答案+解析[001].docx VIP
原创力文档


文档评论(0)