function f=myfun(x)f=x(1)+x(2)+81;end %%函数,其中x=x(1)y=x(2)function [c,ceq]=mycon(x)c(1)=100000-x(1)*x(2);c(2)=1-x(1);c(3)=1-x(2);ceq=[];end %%条件clc,clear allx0=[400 ;400];[x,fval]=fmincon(@myfun,x0,[],[],[],[],[],[],@mycon)x = 316.3406 316.1150 %即x=y等于这个数时最小fval = 713.4556 %最小值为这个值www.mh456.com防采集。
你应该告诉我初始年份啊!然后我再试试!
代码如下: a=10; x=-a:0.5:a; for i=1:length(x) if x(i)<=0 f(i)=-x(i)^3+5; else f(i)=x(i)^3+5; end end plot(x,f) 最后一句是画图,可以不要,
matlab编程,我可以的,就是学这个的,呵呵
一条命令就可以了 f=[1 1 5 3]; % 多项式 fvalue=polyval(f,6) % 求多项式在x=6处的值
function main()clc; clear all; close all;options = optimset('Algorithm', 'interior-point', 'Display', 'off');A = []; b = [];Aeq = []; beq = [];lb = [1; -inf]; ub = [inf; inf];x0 = [1 2];[x,fval,exitflag] = fmincon(@net_fun,x0,A,b,Aeq,beq,lb,ub,[],options);if exitflag == 1 fprintf('\n利用内点法:\n') fprintf('当x取(%.3f, %.3f)时,目标函数取最小值:%.3f\n', ... x(1), x(2), fval);else fprintf('\n未找到最优解!\n');endfunction f = net_fun(x)f = x(1)^2 + x(2)^2;内容来自www.mh456.com请勿采集。