你好,首先我要说你选择matlab这一强大软件是明智的,它的功能十分全面,其优化工具箱解决你的问题十分方便线性规划的求解程序名为linprog,调用格式为[x,fval,exitflag,output,lambda] = linprog(c,A,b,Aeq,beq,lb,ub,x0,options)其中,x:最优解;val:最优解处的函数值;exitflag:程序结束时的状态指示(>0: 收敛,0: 函数调用次数或迭代次数达到最大值(该值在options中指定) <0: 不收敛); Output:包含以下数据的结构变量(iterations 实际迭代次数, cgiterations 实际PCG迭代次数(大规模计算用),algorithm 实际使用的算法);lambda:包含以下数据的结构变量(ineqlin 不等式约束的LAGRANGE乘子, eqlin 等式约束的LAGRANGE乘子, upper 上界约束的LAGRANGE乘子, lower 下界约束的LAGRANGE乘子);c:目标函数矩阵;A/Aeq:不等式/等式限制条件系数矩阵;b/beq:不等式/等式限制条件常数项矩阵;lb:自变量定义域下限;ub:自变量定义域上限;x0:初始解(缺省时程序自动取x0=0)options:包含算法控制参数的结构 实际应用是并没有这么复杂,很多参数缺省就可以了,用你的例题演示就是:(在命令窗口输入)f=[-2;-3];A=[0,1;4,2;1,1];b=[12;20;6];lb=zeros(3,1);[x,fval]=linprog(f,A,b,[],[],lb)计算出x=[0;6],即x1=0,x2=6fval=-18解释一下linprog函数只能求最小值,所以将目标函数系数全变为相反数,最终得到的结果应为fval的相反数希望以上内容对你学习matlab能有一定帮助,以后可以多看看帮助文件,里面讲解很详细。
。