回覆列表
  • 1 # nzrur24356

    1、根據y,z值,求出x值2、分揀x>=1.5以上對應的y,z值3、用polt3()函式繪製圖形,即plot3(x,y,z)

  • 2 # 使用者1465424935672

    像這種問題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"的內容。要是不清楚的地方可以繼續追問

  • 中秋節和大豐收的關聯?
  • 為什麼有的人精力那麼充沛?