混合罚函数法matlab报错,罚函数法MATLAB程序
一、进退法、0.618法、Powell法、罚函数法的Matlab程序设计
罚函数法(通用)
function y=ff(x,k)
y=-17.86*0.42*x(1)/(0.8+0.42*x(1))*(1-exp(-2*(0.8+0.42*x(1))/3))*exp(-1.6)*x(2)-22. 99*x(1)/(0.8+x(1))*(1-exp(-2*(0.8+x(1))/3))*x(3)+k*(x(2)-(1.22*10^2*(9517.8*exp(-1 .6-2*0.42*x(1)/3)*x(2)+19035.6*exp(-2*x(1)/3)*x(3)))/(1.22*10^2+9517.8*exp(-1.6-2 *0.42*x(1)/3)*x(2)+19035.6*exp(-2*x(1)/3)*x(3)))^2+k*(x(3)-exp(-0.8-2*x(1)/3)*x(3) -exp(-2.4-2*0.42*x(1)/3)*x(2))^2;
% 主函数,参数包括未知数的个数n,惩罚因子q,惩罚因子增长系数k,初值x0,以及允许的误差r
function G=FHS(x0,q,k,n,r,h,a)
l=1;
while (l)
x=powell(x0,n,q,r(1),h,a); %调用powell函数
g(1)=ff1(x),g(2)=ff2(x) . . . g(p)=ffp(x); %调用不等式约束函数,将其值%存入数组g
h(1)=hh1(x),h(2)=hh2(x) . . . h(t)=hht(x); %调用等式约束函数,将其值
%存入数组h
for i=1:p
if g(i)for j=1:t
if abs(h(j))continue;
else
break;
end
end
else
break;
end
end
if (i==p)&(j==t) %如果所有约束条件的值都在允许的范围内就结束
%搜索,否则加大惩罚力度继续搜索
l=0;
else
x0=x;
q=k*q;
end
end
G=x
%powell算法,用于寻找无约束最优值点
function powel=powell(x0,n,q,r,h,a)
d=eye(n); %n个线性无关的初始搜索方向
k=1;
混合罚函数法matlab报错,罚函数法MATLAB程序相关推荐
- matlab报错集锦,matlab编程笔记:错误集锦
总结一些自己遇到过的使人抓狂的报错,往往是自己粗心大意造成的: 1.变量名与函数名混用 disp('jafjjaja') ??? Index exceeds matrix dimensions 原因: ...
- 解决Matlab报错:MATLAB 先前因底层图形错误而崩溃。为避免在此会话期间再次崩溃,MATLAB 将使用软件 OpenGL 而不再使用图形硬件。
报错如下: -----------------------------------------------------------------------Assertiondetected at We ...
- MATLAB报错:未定义函数或变量解决方案
MATLAB报错:未定义函数或变量 MATLAB报错:未定义函数或变量 常见错误原因 我的解决方案 MATLAB报错:未定义函数或变量 最近准备数学建模比赛,学习MATLAB入门遇到了个问题:未定义函 ...
- MATLAB报错Invalid ADAPTORNAME specified. Type 'imaqhwinfo' for a list of available ADAPTORNAMEs. Image
MATLAB报错Invalid ADAPTORNAME specified. Type 'imaqhwinfo' for a list of available ADAPTORNAMEs. Image ...
- matlab报错问题处理,函数或变量无法识别,不受支持的符号、不可见的字符或非 ASCII 字符的粘贴———卸载之前
matlab报错问题处理,, 文本字符无效.请检查不受支持的符号.不可见的字符或非 ASCII 字符的粘贴. matlab里面缺少自带函数处理办法: 1.比较好的方法是重装. 2.也可以缺哪个文件,就 ...
- Matlab报错:错误使用 rgb2gray>parse_inputs (第 79 行) MAP 必须为 m x 3 的数组。请对 RGB 和灰度图像使用 im2gray。
拟解决问题: Matlab报错:错误使用 rgb2gray>parse_inputs (第 79 行) MAP 必须为 m x 3 的数组.请对 RGB 和灰度图像使用 im2gray. 下述程 ...
- 【报错解决】matlab报错:缺少动态链接库VCOMP100.DLL
问题分析: matlab报错:缺少动态链接库VCOMP100.DLL 在编译某mexw64文件时可能出现. 原因:windows10版本的C:\Windows\System32目录下动态链接库已经是V ...
- Matlab报错:需要的 第 1 个输入, I or X, 应为 二维
Matlab报错:需要的 第 1 个输入, I or X, 应为 二维 >> imhist(f); 错误使用 imhist 需要的 第 1 个输入, I or X, 应为 二维. 错误原因 ...
- MATLAB报错:未定义函数或变量解决办法
MATLAB报错:未定义函数或变量解决办法 edit(fullfile(matlabroot,'examples','nnet','main','此处放未定义函数')) 比如: edit(fullfi ...
最新文章
- IPVS: Can't initialize ipvs: Protocol not available解决方法
- Java Robot对象实现服务器屏幕远程监视
- 脚本征集大赛开启啦!100%有奖!
- WCF中的序列化[上篇]
- 用react-service做状态管理,适用于react、react native
- in_array foreach array_search的性能比较
- windows下安装php性能分析工具XHProf(windows版本)
- 计算机组装与维修预习,《计算机组装与维修》预习报告、实习报告撰写要求.docx...
- R沟通|Bookdown中文书稿写作手册(中)
- 并行编程走下神坛 将成为开发者基本技能?
- 看了这张图你还会想着用MonoDroid来开发Android应用吗?
- php获取当前行,获取在PHP中执行当前函数的代码行和文件?
- linux svn服务器同步,Linux服务器实现SVN与WEB同步解决方案
- 物联网流量池_如何搭建物联网卡流量池系统
- 方舟服务器显示mod不符,方舟生存进化mod不符怎么办
- “由于这台计算机没有远程桌面客户端访问许可证,远程会话被中断“的解决方案
- python用pandas读取excel指定列_Python用Pandas读写Excel
- Spooling技术简单熟悉
- RIP协议;OSPF协议;BGP协议
- 【圣诞来了】3分钟教你用java画一颗彩色圣诞树,送给别人作为圣诞礼物吧