fun=@myfun; nlcon=@mycon; E=[100 100 100 100 100 100 100 100 100 100 100 100 100 40 60 100 100 100 100 100 100 100 60 100 100 100 100 100 60 100 100 60 100 60 60 60 100 60 60 60 60 100 60 60 40 100 60 60 60 60 100 60 100 100 60 60 60 60 60 60 60 60 100 100 60 100 60 100 60 100 60 60 60 100 100 60 60 40 60 100 60 60 60 60 60 60 60 60 60 60 60 60 60 100 60 60 60 60 60 60 60 60 60 60 60 60 60 60 60 60 60 60 60 60 60 60 60 60 60 60 60 60 60]; D=[36 52 82 99 100 101 102 103 107 108 109 111 112 113 114 115 116 117 118 119 120 121 122 123]; lb=zeros(2*123,1);ub=zeros(2*123,1); Lb=[10,0.04];Ub=[100,0.15]; for i=1:123 lb(2*i-1:2*i)=Lb;ub(2*i-1:2*i)=Ub; ub(2*i-1)=E(i); end lb(D*2-1)=0; ub(D*2-1)=0; x0=ub;x0(D*2-1)=0;x0(1)=20; [x,fval]=fmincon(fun,x0,[],[],[],[],lb,ub,nlcon)为什么报错myfun无法识别
时间: 2024-04-13 12:26:24 浏览: 236
报错提示
当出现错误提示 `myfun` 无法识别时,通常是因为 MATLAB 找不到对应的函数或无法访问到该函数。请确保 `myfun` 函数被正确定义并且在当前 MATLAB 工作路径中。
以下是一些常见的原因和解决方法:
1. 函数文件未保存:确保 `myfun` 函数文件已经保存在 MATLAB 工作路径中,并且文件名与函数名一致。
2. 函数文件名大小写错误:在 MATLAB 中,函数文件名是严格区分大小写的。请检查 `myfun` 函数文件的大小写是否与调用时一致。
3. 函数文件不在 MATLAB 工作路径中:如果 `myfun` 函数文件位于其他文件夹中,你需要添加该文件夹到 MATLAB 的工作路径中,或者使用绝对路径或相对路径来调用函数。
4. 函数定义不正确:确保 `myfun` 函数的定义正确无误,包括函数名、输入参数和输出参数的个数和类型。
请检查以上可能导致错误的原因,并根据实际情况进行修正。如果问题仍然存在,请提供更多的错误信息和 `myfun` 函数的代码,以便我更好地帮助你解决问题。
阅读全文