完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
|
|
相关推荐
1个回答
|
|
写这篇博文是因为一些相关的程序编程用到了个人改动后的函数作为子函数运行,在个人其他博文介绍时会涉及到,所以附程序如下,分享出来方便大家交流。 clear all;clc%% 初始参数设定,求f最小值syms x1 x2 xf=x1^2+2*x2^2-4*x1-2*x1*x2;% f 函数符号表达式x0=[0 0];% 给定初始点h=4; % 初始单纯形构造因子alpha=1; % alpha 反射因子gama=2; % gama 扩张因子beta=0.5;% beta 收缩因子eps=0.5;% eps 精度值%% 构造初始单纯形x0=x0';X(:,1)=x0;Num_var_f=length(symvar(f));%二维函数for i = 1:Num_var_f %二维函数,需要三个顶点坐标 x = zeros(Num_var_f,1);%预分配内存 x(i) = x0(i) + h; X(:,i+1)=x;% 将单纯形存储endn = 0; %迭代循环次数m = 1; %精度差值k = 0; %数据记录g = 0; %操作记录 %% 计算函数值 for i = 1:Num_var_f+1 F_val(i)=double(subs(f,symvar(f),X(:,i)')); end [F_sort,F_index]=sort(F_val);%从小到大排列函数 % 最好点 f_best_0=F_sort(1); X_best_0=X(:,F_index(1)); % 最差点 f_bad_n=F_sort(end); X_bad_n=X(:,F_index(end)); % 次差点 f_nextbad_1n=F_sort(end-1); X_nextbad_1n=X(:,F_index(end-1)); % 计算形心 Xc_n1=1/Num_var_f*sum(X(:,F_index(1:end-1)),2); f_Xc_n1=double(subs(f,symvar(f),Xc_n1')); %% 循环迭代语句while m > eps %% 反射 flag = 0; X_reflect_n2=Xc_n1+alpha*(Xc_n1-X_bad_n); f_reflect_n2=double(subs(f,symvar(f),X_reflect_n2')); %% 反射成功 if f_reflect_n2 |
|
|
|
只有小组成员才能发言,加入小组>>
调试STM32H750的FMC总线读写PSRAM遇到的问题求解?
1786 浏览 1 评论
X-NUCLEO-IHM08M1板文档中输出电流为15Arms,15Arms是怎么得出来的呢?
1622 浏览 1 评论
1089 浏览 2 评论
STM32F030F4 HSI时钟温度测试过不去是怎么回事?
730 浏览 2 评论
ST25R3916能否对ISO15693的标签芯片进行分区域写密码?
1680 浏览 2 评论
1942浏览 9评论
STM32仿真器是选择ST-LINK还是选择J-LINK?各有什么优势啊?
739浏览 4评论
STM32F0_TIM2输出pwm2后OLED变暗或者系统重启是怎么回事?
576浏览 3评论
598浏览 3评论
stm32cubemx生成mdk-arm v4项目文件无法打开是什么原因导致的?
560浏览 3评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-12-25 13:13 , Processed in 0.745301 second(s), Total 77, Slave 61 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号