高分求Matlab高手啊: 如何求''未知''三元函数最小值.如建立函数 f=minsearch(u). 结果返回函数 u 的最小值.还不让用Newton-Raphson方法.u是一个[−2,2]×[−2,2]×[−2,2]区间内的三元函数,比如 u
来源:学生作业帮助网 编辑:作业帮 时间:2024/11/09 10:38:29
高分求Matlab高手啊: 如何求''未知''三元函数最小值.如建立函数 f=minsearch(u). 结果返回函数 u 的最小值.还不让用Newton-Raphson方法.u是一个[−2,2]×[−2,2]×[−2,2]区间内的三元函数,比如 u
高分求Matlab高手啊: 如何求''未知''三元函数最小值.
如建立函数 f=minsearch(u). 结果返回函数 u 的最小值.还不让用Newton-Raphson方法.
u是一个[−2,2]×[−2,2]×[−2,2]区间内的三元函数,比如 u = (x-0.1).^2 + (y - 0.4).^2 + (z - 0.3).^2
谢谢了.
高分求Matlab高手啊: 如何求''未知''三元函数最小值.如建立函数 f=minsearch(u). 结果返回函数 u 的最小值.还不让用Newton-Raphson方法.u是一个[−2,2]×[−2,2]×[−2,2]区间内的三元函数,比如 u
像这种问题Matlab库函数直接可以求解.
编写三个m文件,一个主程序,两个function
主程序main.m
p0=[0 0 0];
A=[];b=[];Aeq=[];beq=[];vlb=[-2;-2;-2];vub=[2;2;2];
[x,fval]=fmincon('fun_u',p0,A,b,Aeq,beq,vlb,vub,'confun_u')
fun_u.m子函数即目标函数u
function y=fun_u(x)
y= (x(1)-0.1).^2 + (x(2) - 0.4).^2 + (x(3) - 0.3).^2;
约束条件confun_u.m文件,由于本问题无约束条件,所以该函数这样来写
function [g,ceq]=confun_u(x)
g=-1;
ceq=-1;
执行的时候直接运行main程序即可.当然你可以把main.m也改为一个function,输入参数为目标函数名‘fname’,这时你需要自己定义'fname'的内容.要是不清楚的地方可以继续追问