网站大量收购独家精品文档,联系QQ:2885784924

007最速下降和牛顿法.ppt

  1. 1、本文档共35页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
007最速下降和牛顿法

  Matlab程序示例 计算 Min ||A-X||F S.t. Rank(X)=1 X≥0 其中 A 是m*n的矩阵 function fval=opt_2(A) %直接调用约束优化函数fmincon [m n]=size(A); [U,S,V] = svd(A); S11 = S(1,1); x=FMINCON(@(x) myfun_2(x,A,S11),ones(n+m),[],[],[],[],zeros(n+m),[]); fval = myfun_2(x,A,S11); fval = sqrt(fval); function F = myfun_2(x,A,S11) [m n]=size(A); F=0; for i=1:m for j=1:n F = F+(A(i,j)-x(i)*S11*x(m+j))^2; end end m=10 n=20 残差 14.38 CPU 58.032s function fval=opt_3(A) %直接调用无约束优化函数fminunc [m n]=size(A); [U,S,V] = svd(A); S11 = S(1,1); x=fminunc(@(x) myfun_3(x,A,S11),ones(n+m)); fval = myfun_3(x,A,S11); fval = sqrt(fval); function F = myfun_3(x,A,S11) [m n]=size(A); F=0; for i=1:m for j=1:n F = F+(A(i,j)-x(i)^2*S11*x(m+j)^2)^2; end end m=10 n=20 残差 13.42 CPU 15.267s function fval=opt_1(A) % 通过奇异值分解+投影 [U,S,V] = svd(A); % 作奇异值分解, A = U*S*V u1=U(:,1); %取U第一列(对应最大奇异值) v1=V(:,1); %取V第一列(对应最大奇异值) X = max(0,u1) *S(1,1)*max(0,v1); % 把小于0的投影为0 temp1 = norm(A-X,fro); % Frobenius 范数,即目标函数 X = max(0,-u1) *S(1,1)*max(0,v1); temp2 = norm(A-X,fro); X = max(0,u1) *S(1,1)*max(0,-v1); temp3 = norm(A-X,fro); X = max(0,-u1) *S(1,1)*max(0,-v1); temp4 = norm(A-X,fro) ; fval1 = min([temp1 temp2 temp3 temp4]); m=10 n=20 残差 13.60 CPU 0.001s function [fval fval1]=opt_0(A) % 交替迭代法 [m n]=size(A); % 读A的维数 v = ones(n,1); %v的初值 iter = 0; Miter = 100; fval = inf; tol = 1; Mtol = 1e-4; while iter Miter tolMtol iter = iter +1; u = A*v/(v*v); u = max(u,0); v = A*u/(u*u); v = max(v,0); ftemp(iter) = norm(A-u*v,fro); if ftemp(iter) fval fval = ftemp(iter); end if iter2 tol =

文档评论(0)

3471161553 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档