fun = @(x)x(1)^2+x(2)^2+12; x0 = rand(2,1); A=[]; Aeq=[]; b=[]; beq=[]; lb=[0,0]; ub=[]; exitflag=1; [x,fval,exitflag] = fmincon(fun,x0,A,b,Aeq,beq,lb,ub,'mycon') function [c,ceq] = mycon(x) c = x(1)^2+2*x(2); ceq = 5*x(1)-4*x(2)^2-20; end函数或变量 'mycon' 无法识别。怎么解决
时间: 2024-04-24 09:21:30 浏览: 238
C语言程序设计-编写函数fun求s=1^k+2^k +3^k + ......+N^k的值,(1的K次方到N的K次方的累
5星 · 资源好评率100%
在你的代码中,出现了函数或变量 'mycon' 无法识别的错误。这通常是因为你没有定义或声明 'mycon' 函数。为了解决这个问题,你需要确保 'mycon' 函数在使用之前已经定义。
你可以将 'mycon' 函数定义放在你的主代码或脚本之前,或者将其定义放在独立的函数文件中,并确保它在主代码中可见。
如果你已经定义了 'mycon' 函数,但仍然出现此错误,请检查函数名称的拼写是否正确,并确保文件路径正确以确保 Matlab 可以找到该函数。
另外,确保你的 'mycon' 函数的输入和输出参数与 fmincon 函数的要求相匹配。'mycon' 函数应该接受一个输入参数 x,并返回两个输出参数 c 和 ceq。
通过解决以上问题,你应该能够解决 "函数或变量 'mycon' 无法识别" 的错误。
阅读全文