⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 main.m

📁 罚函数法matlab程序.希望对大家有用.
💻 M
字号:
%抛物线法
%设目标函数是f(x)=x^2-2*x+1,取初始值x1=-5,x2=-4,x3=-3
%其中count记录循环次数,e为所要求的误差,x为最优解,f为最优值 
clear all;
clc;
count=1;
e=0.00001;
x1=-5;
x2=-4;
x3=-3;
while abs(x3-x2)>e
y1=x1^2-2*x1+1;
y2=x2^2-2*x2+1;
y3=x3^2-2*x3+1;
%求解抛物线的系数
p=[x1^2 x1 1;x2^2 x2 1;x3^2 x3 1];
s=[y1;y2;y3];
t=p\s;
%迭代过程中的解
x=-t(1)/(0.5*t(2));
x1=x2;
x2=x3;
x3=x;
o=x3-x2
count=count+1;
a=f(x);
end
%显示结果
disp('目标函数的最优解x:')
x
disp('目标函数的最优值:')
a
disp('循环次数')
count

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -