⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 pen2.m

📁 一个很好用的摄像机标定程序
💻 M
字号:
% Penalty II  function
% ------------------- 
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% function [fvec,J]=pen2(n,m,x,option)
% Dimensions -> n=variable, m=2*n
% Problem no. 24             
% Standard starting point -> x=(1/2,......,1/2)
% Minima -> f=9.37629...10^(-6)  if n=4
%           f=2.93660...10^(-4)  if n=10            
%                                     
% 11/21/94 by Madhu Lamba  
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

function [fvec,J] = pen2(n,m,x,option)  


J=zeros(m,n);
if (option==1 | option==3)
   fvec(1)=x(1)-0.2;
end;

if (option==2 | option==3)
   J(1,1)=1;
end;

if(n>=2)

   for i=2:n
     y(i)=exp(i/10)+exp((i-1)/10);

     if (option==1 | option==3)
        fvec(i)=sqrt(1.e-5)*(exp(x(i)/10)+exp(x(i-1)/10)-y(i));
     end;        

     if (option==2 | option==3)
	J(i,i)   = sqrt(1.e-5)*exp(x(i)/10)*(1/10);
        J(i,i-1) = sqrt(1.e-5)*exp(x(i-1)/10)*(1/10);
     end;
   end;
  
   for i=n+1:(2*n-1)
       
     if (option==1 | option==3)
        fvec(i)=sqrt(1.e-5)*(exp(x(i-n+1)/10)-exp(-1/10));
     end;
 
     if (option==2 | option==3)
	J(i,i-n+1) = sqrt(1.e-5)*exp(x(i-n+1)/10)*(1/10);
     end; 
   end;
end;

if (option==1 | option==3) 

    sum=0;
    for j=1:n
        sum=sum+(n-j+1)*x(j)^2;
    end;
    fvec(2*n)=sum-1; 
end;
if (option==2 | option==3)
    for j=1:n
        J(m,j) = (n-j+1)*2*x(j);
    end;
end;
if (option==1 | option==3)
   fvec=fvec';
end;

%

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -