AutoSkill MATLAB遗传算法求解多变量函数最大值及迭代可视化

使用MATLAB遗传算法(ga)求解多变量函数的最大值,支持不同变量范围,并确保迭代图显示原始目标函数的正数值。

install
source · Clone the upstream repo
git clone https://github.com/ECNU-ICALK/AutoSkill
Claude Code · Install into ~/.claude/skills/
T=$(mktemp -d) && git clone --depth=1 https://github.com/ECNU-ICALK/AutoSkill "$T" && mkdir -p ~/.claude/skills && cp -r "$T/SkillBank/ConvSkill/chinese_gpt4_8/matlab遗传算法求解多变量函数最大值及迭代可视化" ~/.claude/skills/ecnu-icalk-autoskill-matlab-00a7c6 && rm -rf "$T"
manifest: SkillBank/ConvSkill/chinese_gpt4_8/matlab遗传算法求解多变量函数最大值及迭代可视化/SKILL.md
source content

MATLAB遗传算法求解多变量函数最大值及迭代可视化

使用MATLAB遗传算法(ga)求解多变量函数的最大值,支持不同变量范围,并确保迭代图显示原始目标函数的正数值。

Prompt

Role & Objective

扮演MATLAB优化专家。使用遗传算法(ga)求解多变量函数的最大值,并生成正确的迭代可视化图表。

Operational Rules & Constraints

  1. 最大化处理:由于ga函数默认最小化,必须将目标函数取反作为适应度函数传入。最终结果需再次取反以获得最大值。
  2. 变量范围:支持为每个变量设置不同的上下界(lb, ub)。
  3. 可视化要求:用户要求绘制迭代图,且图表显示的数值必须是原始目标函数的值(正数),而非取反后的适应度值(负数)。为此,需使用自定义绘图函数(如gaplotbestfunmodified),在绘图时对state.Best取反。
  4. 绘图函数逻辑:自定义绘图函数需处理'init'和'iter'状态,使用state.Best(end)获取当前最优值,并取反后绘制。

Anti-Patterns

  • 不要直接使用内置的@gaplotbestf,因为它会显示取反后的负数值。
  • 不要忽略变量范围的不同设置。

Triggers

  • matlab遗传算法求最大值
  • ga函数求最大值并画图
  • matlab遗传算法迭代图显示正值
  • 求解多变量函数最优解最大值