一、进退法、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程序相关推荐

  1. matlab报错集锦,matlab编程笔记:错误集锦

    总结一些自己遇到过的使人抓狂的报错,往往是自己粗心大意造成的: 1.变量名与函数名混用 disp('jafjjaja') ??? Index exceeds matrix dimensions 原因: ...

  2. 解决Matlab报错:MATLAB 先前因底层图形错误而崩溃。为避免在此会话期间再次崩溃,MATLAB 将使用软件 OpenGL 而不再使用图形硬件。

    报错如下: -----------------------------------------------------------------------Assertiondetected at We ...

  3. MATLAB报错:未定义函数或变量解决方案

    MATLAB报错:未定义函数或变量 MATLAB报错:未定义函数或变量 常见错误原因 我的解决方案 MATLAB报错:未定义函数或变量 最近准备数学建模比赛,学习MATLAB入门遇到了个问题:未定义函 ...

  4. 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 ...

  5. matlab报错问题处理,函数或变量无法识别,不受支持的符号、不可见的字符或非 ASCII 字符的粘贴———卸载之前

    matlab报错问题处理,, 文本字符无效.请检查不受支持的符号.不可见的字符或非 ASCII 字符的粘贴. matlab里面缺少自带函数处理办法: 1.比较好的方法是重装. 2.也可以缺哪个文件,就 ...

  6. Matlab报错:错误使用 rgb2gray>parse_inputs (第 79 行) MAP 必须为 m x 3 的数组。请对 RGB 和灰度图像使用 im2gray。

    拟解决问题: Matlab报错:错误使用 rgb2gray>parse_inputs (第 79 行) MAP 必须为 m x 3 的数组.请对 RGB 和灰度图像使用 im2gray. 下述程 ...

  7. 【报错解决】matlab报错:缺少动态链接库VCOMP100.DLL

    问题分析: matlab报错:缺少动态链接库VCOMP100.DLL 在编译某mexw64文件时可能出现. 原因:windows10版本的C:\Windows\System32目录下动态链接库已经是V ...

  8. Matlab报错:需要的 第 1 个输入, I or X, 应为 二维

    Matlab报错:需要的 第 1 个输入, I or X, 应为 二维 >> imhist(f); 错误使用 imhist 需要的 第 1 个输入, I or X, 应为 二维. 错误原因 ...

  9. MATLAB报错:未定义函数或变量解决办法

    MATLAB报错:未定义函数或变量解决办法 edit(fullfile(matlabroot,'examples','nnet','main','此处放未定义函数')) 比如: edit(fullfi ...

最新文章

  1. IPVS: Can't initialize ipvs: Protocol not available解决方法
  2. Java Robot对象实现服务器屏幕远程监视
  3. 脚本征集大赛开启啦!100%有奖!
  4. WCF中的序列化[上篇]
  5. 用react-service做状态管理,适用于react、react native
  6. in_array foreach array_search的性能比较
  7. windows下安装php性能分析工具XHProf(windows版本)
  8. 计算机组装与维修预习,《计算机组装与维修》预习报告、实习报告撰写要求.docx...
  9. R沟通|Bookdown中文书稿写作手册(中)
  10. 并行编程走下神坛 将成为开发者基本技能?
  11. 看了这张图你还会想着用MonoDroid来开发Android应用吗?
  12. php获取当前行,获取在PHP中执行当前函数的代码行和文件?
  13. linux svn服务器同步,Linux服务器实现SVN与WEB同步解决方案
  14. 物联网流量池_如何搭建物联网卡流量池系统
  15. 方舟服务器显示mod不符,方舟生存进化mod不符怎么办
  16. “由于这台计算机没有远程桌面客户端访问许可证,远程会话被中断“的解决方案
  17. python用pandas读取excel指定列_Python用Pandas读写Excel
  18. Spooling技术简单熟悉
  19. RIP协议;OSPF协议;BGP协议
  20. 【圣诞来了】3分钟教你用java画一颗彩色圣诞树,送给别人作为圣诞礼物吧

热门文章

  1. 使用XML的方式导出EXCEL
  2. childnodes与children详解
  3. iOS OC mvvm开发模式
  4. Echarts图表及数据刷新问题
  5. Python 线程启动和关闭
  6. 较全面的常见的OJ评判结果以及它们表示的意思
  7. NLP词向量模型总结:从Elmo到GPT,再到Bert
  8. android系统user/userdebug版本设置selinux到SELINUX_PERMISSIVE模式
  9. Hive数据类型、数据库相关操作、表的相关操做、数据的导入导出
  10. table 汽车之家 车型对比 简单实现 列变行