作业帮 > 综合 > 作业

matlab 如题.我用m文件编好了一个函数,比如说:[a b]=mystrat(q,w,e,r) 其中q,w,e,r为

来源:学生作业帮 编辑:百度作业网作业帮 分类:综合作业 时间:2024/07/20 16:21:51
matlab
如题.我用m文件编好了一个函数,比如说:[a b]=mystrat(q,w,e,r) 其中q,w,e,r为4个参数
要求的是:a尽可能大的情况下,四个参数分别在怎样的一个区间里(不用很精确).
不能马上实现上面说的,实现下面这个也可以:独立地考虑单独的变量,即:固定其他三个参数不变时,另一个参数在多少时可以使a尽可能大.
fminunc这个函数可以吗?如果可以的话,怎么写呢?
PS:matlab规划工具箱的这些函数的初值问题(同一个变量可以赋多个初值吗?)
matlab 如题.我用m文件编好了一个函数,比如说:[a b]=mystrat(q,w,e,r) 其中q,w,e,r为
如果各参数没有限制,可以用fminunc函数,大致如下:x = fminunc(@(x)-mystrat(x(1),x(2),x(3),x(4)),x0)其中,x0为初值,是一个4个元素的向量,依次为[q w e r].
再问: 谢谢! 为什么要用@(x)减去那个函数呢
再答: 并不是用@(x)减去那个函数,而是定义了一个匿名函数,其内容是函数mystrat取负值。
这是因为,fminunc是求最小化问题,而你要的是最大化。