资源描述:
《matlab最优化 课程总结》由会员上传分享,免费在线阅读,更多相关内容在学术论文-天天文库。
1、Matlab的数值运算基础矩阵运算的符号表示:1、det()--行列式2、Inv()--逆运算pinv()--伪逆运算3、rank()--秩4、d=eig(a)--返回a的特征值,是列向量形式[v,d]=eig(a)----v是特征向量矩阵,d是特征值对角阵5、R=Chol(a)--对称正定矩阵的分解(cholesky),[R,p]=Chol(a)r的阶数为p-1,若a是正定矩阵,p=06、[l,u]=lu(a)---矩阵的lu分解,l是下三角矩阵,u是上三角矩阵,a是任何方阵7、[q,r]=qr(a)----将a分解为正交矩阵Q和上三角矩阵
2、R符号运算1、s=sym(a)---建立符号对象s,建立符号变量2、s=sym(a,flag)--flag:’d’’e’’f’3、str=class(object)何种对象类型4、findsym(f,n)---确定符号函数f中的n个自变量,5、symdiv()等同于/,6、n=numeric(e)----将符号对象转化成数值形式7、factor(e)---恒等变换函数,将e进行因式分解,8、expand(e)---将e展开,在多项式、三角函数、指对函数常用9、simplify()---综合化简10、simple()---得到对象的长度最短的表
3、达形式,若对象为一个矩阵,结果是全矩阵的最短Matlab程序设计1、M文件分为a脚本文件:无输入和返回参数,数据为脚本中的数据b函数文件:高级运筹学----运用matlab最优化方法作业:试错法、斐波那契、黄金分割法设计程序定理概念:梯度、海赛矩阵、凸集、凸函数、k.t条件、迭代法matlab输出参数在左边[]输入变量()线性规划类:1.无约束条件:fminsearch;fminunc-[x,fval]=fminunc(@myfun,x0)2.有约束条件:有非线性约束条件要加写M文件fmincon----X=fmincon(fun,x0,A,
4、b,Aeq,beq,lb,ub,nonlcon,options)求最优值类:编写程序1、试错法例:f(x)=x^2-x+2在[-1,3]内的近似点,dt<=0.05functionxval=shicuofa(a,b,h,dt)formatlong;x0=a+(b-a)*rand;x=x0;f1=fval(x);f2=fval(x+h);cishu=0;while1cishu=cishu+1;iff25、seh=-h/4;f2=fval(x+h);f1=fval(x);endendendcishu1、黄金分割法functionxval=huangjin(a,b,dt)formatlong;while1x2=a+(b-a)*0.618;x1=b-0.618*(b-a);f1=fval(x1);f2=fval(x2);iff1>f2a=x1;elseb=x2endifb-a6、chang;c=x0;while1ifsubs(f,findsym(f),b)>subs(f,findsym(f),a)buchang=-buchang;c=b,b=a+buchang;a=c;ifsubs(f,findsym(f),b)>subs(f,findsym(f),x0)x=b;y=a;breakendelsebuchang=2*buchang;c=b;b=a+buchang;a=c;ifsubs(f,findsym(f),b)>subs(f,findsym(f),x0)x=a,y=bbreak;endendend