linfitxy.pro

来自「IDL语言编写的用于天文自适应光学仿真的软件CAOS V6.0的第一部分。」· PRO 代码 · 共 35 行

PRO
35
字号
; $Id: linfitxy.pro,v 1.2 2002/03/14 11:49:13 riccardi Exp $function linfitxy, x, y, chisqr = chisqr, prob = prob, $			sdevx = sdevx, sdevy = sdevy, sig_ab = sig_ab, $			eps=eps, max_iter=max_iter  on_error, 2  nsdevx = n_elements(sdevx)  nx = n_elements(x)  if nsdevx eq 0 then begin	coeff = linfit(x, y, chisqr = chisqr, prob = prob, sdev = sdevy, $			sig_ab = sig_ab)	return, coeff  endif else if nsdevx eq nx then begin	coeff = linfit(x, y)	if n_elements(sdevy) eq 0 then sdevy=0	if n_elements(eps) eq 0 then eps=1e-3	if n_elements(max_iter) eq 0 then max_iter=30  	for i=1,max_iter do begin	  sdev = sqrt(sdevy^2+(coeff(1)*sdevx)^2)	  new_coeff=linfit(x, y, chisqr = chisqr, prob = prob, sdev = sdev, $	  				sig_ab = sig_ab)	  if total(abs((new_coeff-coeff)/coeff) lt eps) eq 2 then $		return, new_coeff	  coeff = new_coeff	endfor  endif else $	message, 'x and sdevx must be vectors of equal length.'  print, "Warning: Iteration method hasn't converged!"  return, new_coeffend

⌨️ 快捷键说明

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