zoukankan      html  css  js  c++  java
  • Lagrange 乘子法求最优解

    clc
    clear
    syms x y z r1 r2 w
    f=x^2+y^2+z^2+w^2;
    g1=2*x-y+z-w-1;
    g2=x+y-z+w-1;
    h=f-r1*g1 -r2*g2;
    
    hx=diff(h,x);
    hy=diff(h,y);
    hz=diff(h,z);
    hw=diff(h,w);
    hr1=diff(h,r1);
    hr2=diff(h,r2);
    
    
    r=solve([hx==0,hy==0,hz==0,hw==0,hr1==0,hr2==0],[x,y,z,w,r1,r2]);
    
    
    arr_x=double(r.x)
    arr_y=double(r.y)
    arr_z=double(r.z)
    arr_w=double(r.w)
    
    arr_fv=[];
    for i=1 : length(arr_x)
    xv=arr_x(i);
    yv=arr_y(i);
    zv=arr_z(i);
    wv=arr_w(i);
    fv=subs(f,[x,y,z,w],[xv,yv,zv,wv]);
    arr_fv(i)= double(fv);
    g1v=subs(g1,[x,y,z,w],[xv,yv,zv,wv])
    g2v=subs(g2,[x,y,z,w],[xv,yv,zv,wv])
    end
    arr_fv
    disp('after sort:')
    sort(arr_fv)
    View Code

  • 相关阅读:
    vue $emit的使用
    flask config 环境变量配置
    get请求
    下载及安装
    测试用例写作
    系统测试
    测试方法
    软件质量
    测试基础
    子网掩码
  • 原文地址:https://www.cnblogs.com/wdfrog/p/6728445.html
Copyright © 2011-2022 走看看