- 1、本文档共2页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
最新课件
现代设计方法及其应用matlab程序作业(7.18)
源程序:
%坐标轮换法
clear
e=input(输入精度要求e:);
X=input(输入初始点:);
syms t s
a=10*X(1,1)^2+106*X(2,1)^2+10*X(1,1)*X(2,1)+96*X(1,1)+100*X(2,1);
k=1;
e1=[1;0];
e2=[0;1];
A=X; %A矩阵用于存储每一轮变换所得解
C=X+t*e1; %沿e1方向搜索
x1=C(1,1);
x2=C(2,1);
df=diff(10*x1^2+106*x2^2+10*x1*x2+96*x1+100*x2);
t=solve(df);
X=X+t*e1;
C=X+s*e2; %沿e2方向搜索
x1=C(1,1);
x2=C(2,1);
df=diff(10*x1^2+106*x2^2+10*x1*x2+96*x1+100*x2);
s=solve(df);
X=X+s*e2;
A=[A X];
b=10*X(1,1)^2+106*X(2,1)^2+10*X(1,1)*X(2,1)+96*X(1,1)+100*X(2,1);
a=[a b];
B=A(:,k+1)-A(:,k);
while double(sqrt(B(1,1)^2+B(2,1)^2))e
syms t s
C=X+t*e1; %沿e1方向搜索
x1=C(1,1);
x2=C(2,1);
df=diff(10*x1^2+106*x2^2+10*x1*x2+96*x1+100*x2);
t=solve(df);
X=X+t*e1;
C=X+s*e2; %沿e2方向搜索
x1=C(1,1);
x2=C(2,1);
df=diff(10*x1^2+106*x2^2+10*x1*x2+96*x1+100*x2);
s=solve(df);
X=X+s*e2;
A=[A X];
b=10*X(1,1)^2+106*X(2,1)^2+10*X(1,1)*X(2,1)+96*X(1,1)+100*X(2,1);
a=[a b];
B=A(:,k+1)-A(:,k);
k=k+1;
end
Y=10*X(1,1)^2+106*X(2,1)^2+10*X(1,1)*X(2,1)+96*X(1,1)+100*X(2,1);
A %n次迭代得到X值矩阵
a %n次迭代得到函数值数组
fprintf(轮换次数k=%f\n,k);
X
Y
调试结果:
CoordinateExchange
输入精度要求e:0.001
输入初始点:[4;3]
A =
[ 4, -63/10, -9991/2120, -2101267/449440, -445384479 -94421088923/20199631360]
[ 3, -37/212, -11209/44944, -2393133/9528128, -507428321/2019963136, -107575224677/428232184832]
a =
[ 1918, -447593/2120, -22573759617 -1014616480722073/4282321848320, -45600924645285239537/192464673150894080, -2049487957296092615516553/8650132270093783531520]
轮换次数k=5.000000
X =
[-94421088923/20199631360
-107575224677/428232184832]
Y =
-2049487957296092615516553/8650132270093783531520
机研1203班 宁晖 2012210138
文档评论(0)