发布网友 发布时间:2024-10-23 17:20
共1个回答
热心网友 时间:2024-10-29 07:56
你的错误系统写的很清楚了。函数句柄是不能和另一个实体变量相加的,matlab语法错误。
g=g + @(x) 100*(x(i)-5)^4*(5<=x(i) & x(i)<=-5)+ 0*(-5<=x(i)& x(i)<=5);
就是这个加号出错了。g是个变量 而@(x)是个函数句柄,这两个东西没法相加。
不仅这句错了,下句也错了。同样的毛病。只不过到这里程序就终止了。
这个程序这么做比较好:
分段函数u,你做成一个单独的函数。不用匿名函数。追问可是需要和前面的函数一起,然后求他们的极小值
热心网友 时间:2024-10-29 07:56
你的错误系统写的很清楚了。函数句柄是不能和另一个实体变量相加的,matlab语法错误。
g=g + @(x) 100*(x(i)-5)^4*(5<=x(i) & x(i)<=-5)+ 0*(-5<=x(i)& x(i)<=5);
就是这个加号出错了。g是个变量 而@(x)是个函数句柄,这两个东西没法相加。
不仅这句错了,下句也错了。同样的毛病。只不过到这里程序就终止了。
这个程序这么做比较好:
分段函数u,你做成一个单独的函数。不用匿名函数。追问可是需要和前面的函数一起,然后求他们的极小值
热心网友 时间:2024-10-29 07:57
你的错误系统写的很清楚了。函数句柄是不能和另一个实体变量相加的,matlab语法错误。
g=g + @(x) 100*(x(i)-5)^4*(5<=x(i) & x(i)<=-5)+ 0*(-5<=x(i)& x(i)<=5);
就是这个加号出错了。g是个变量 而@(x)是个函数句柄,这两个东西没法相加。
不仅这句错了,下句也错了。同样的毛病。只不过到这里程序就终止了。
这个程序这么做比较好:
分段函数u,你做成一个单独的函数。不用匿名函数。追问可是需要和前面的函数一起,然后求他们的极小值