流星芭比锤 2023-04-15 10:31 采纳率: 0%
浏览 148

matlab函数或变量无法识别

本人matlab辣鸡,请问各位老哥,为什么我在m文件里定义了yita但是在函数文件里无法识别捏

img

img

img

  • 写回答

1条回答 默认 最新

  • CSDN-Ada助手 CSDN-AI 官方账号 2023-04-15 12:05
    关注
    • 帮你找了个相似的问题, 你可以看下: https://ask.csdn.net/questions/7667415
    • 我还给你找了一篇非常好的博客,你可以看看是否有帮助,链接:用MATLAB实现 的,高斯牛顿法和莱文伯格算法matlab源码,自己写的,完全可以用
    • 你还可以看下matlab参考手册中的 matlab 显示数组详细信息 details
    • 除此之外, 这篇博客: matlab遗传算法工具箱介绍和详细使用方法【matlab优化算法工具箱】中的 遣传算法工具箱应用举例 部分也许能够解决你的问题, 你可以仔细阅读以下内容或跳转源博客中阅读:
    • clc
      clear all
      close all
      %% 画出函数图
      figure(1);
      hold on;
      lb=1;ub=2; %函数自变量范围【1,2ezplot('sin(10*pi*X)/X',[lb,ub]);   %画出函数曲线
      xlabel('自变量/X')
      ylabel('函数值/Y')
      %% 定义遗传算法参数
      NIND=40;        %个体数目
      MAXGEN=20;      %最大遗传代数
      PRECI=20;       %变量的二进制位数
      GGAP=0.95;      %代沟
      px=0.7;         %交叉概率
      pm=0.01;        %变异概率
      trace=zeros(2,MAXGEN);                        %寻优结果的初始值
      FieldD=[PRECI;lb;ub;1;0;1;1];                      %区域描述器
      Chrom=crtbp(NIND,PRECI);                      %初始种群
      %% 优化
      gen=0;                                  %代计数器
      X=bs2rv(Chrom,FieldD);                 %计算初始种群的十进制转换
      ObjV=sin(10*pi*X)./X;        %计算目标函数值
      while gen<MAXGEN
         FitnV=ranking(ObjV);                               %分配适应度值
         SelCh=select('sus',Chrom,FitnV,GGAP);              %选择
         SelCh=recombin('xovsp',SelCh,px);                  %重组
         SelCh=mut(SelCh,pm);                               %变异
         X=bs2rv(SelCh,FieldD);               %子代个体的十进制转换
         ObjVSel=sin(10*pi*X)./X;             %计算子代的目标函数值
         [Chrom,ObjV]=reins(Chrom,SelCh,1,1,ObjV,ObjVSel); %重插入子代到父代,得到新种群
         X=bs2rv(Chrom,FieldD);
         gen=gen+1;                                             %代计数器增加
         %获取每代的最优解及其序号,Y为最优解,I为个体的序号
         [Y,I]=min(ObjV);
         trace(1,gen)=X(I);                            %记下每代的最优值
         trace(2,gen)=Y;                               %记下每代的最优值
      end
      plot(trace(1,:),trace(2,:),'bo');                            %画出每代的最优点
      grid on;
      plot(X,ObjV,'b*');   %画出最后一代的种群
      hold off
      %% 画进化图
      figure(2);
      plot(1:MAXGEN,trace(2,:));
      grid on
      xlabel('遗传代数')
      ylabel('解的变化')
      title('进化过程')
      bestY=trace(2,end);
      bestX=trace(1,end);
      fprintf(['最优解:\nX=',num2str(bestX),'\nY=',num2str(bestY),'\n'])
      
      

      在这里插入图片描述

    • 您还可以看一下 硬核野生技术咨询客服小李老师的matlab零基础入门路径规划城市遍历机器人路径等问题课程中的 深入学习结构体小节, 巩固相关知识点
    评论

报告相同问题?

问题事件

  • 创建了问题 4月15日

悬赏问题

  • ¥20 校园二手交易小程序搭建
  • ¥15 请问在ubuntu用conda创建环境报错怎么能解决
  • ¥15 STM32CubeMX/proteus按键控制指示灯颜色切换
  • ¥20 python,计算区位熵和扩张指数
  • ¥15 Python环境配置
  • ¥15 大四学生的困惑,有偿提问!
  • ¥15 解决页面无法编入索引:被“noindex”标签排除的问题?
  • ¥15 arduino测量电阻
  • ¥15 快手uid转快手号谁能解决 需要开发
  • ¥15 iis部署Django时css不生效,来个真人,ai不好使