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

📄 dualshg.m

📁 一个很好用的摄像机标定程序
💻 M
字号:
function g=dualshg(x)
% Usage:
% g=dualshg(x) 
% Returns the gradient <g> of the exact penalty function 
% at a point <x> for Shell Dual problem
global A B C D E Penalty_Coeff
if size(x,2)>1, x=x';end
g=x; pen=max([1.e3,Penalty_Coeff]);
g(1:5)=6*D.*x(1:5).^2 + 2*C*x(1:5);
g(6:15)= - B;
f=0;k=0;
for i=1:5
 d=A(:,i)'*x(6:15) - 2*C(i,:)*x(1:5) - 3*D(i)*x(i)^2 - E(i);
 if d>f, f=d; k=i; end
end
for i=1:15
 if -x(i)>f, f=-x(i); k=i+5; end
end
if k>0
 if k>5, g(k-5)=g(k-5)-pen;
 else, g(6:15)=g(6:15)+pen*A(:,k);
       g(1:5)=g(1:5)-pen*2*C(:,k);
       g(k)=g(k)-pen*6*D(k)*x(k);
 end
end

⌨️ 快捷键说明

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