invsqr.m

来自「利用MATLAB实现了对测量中的平面网」· M 代码 · 共 46 行

M
46
字号
function c=invsqr(c,n)
ss=0.0;
for i=1:n
     di=(i-1)*(n-i/2.0);
     for j=i:n
          ss=c(di+j);
          for k=1:i-1
               dk=(k-1)*(n-k/2.0);
               ss=ss-c(dk+i)*c(dk+j)/c(dk+k);
          end
          if(j==i)
              c(di+j)=1/ss;
          else
              c(di+j)=ss*c(di+i);
          end
    end
end
for i=1:n-1
	di=(i-1)*(n-i/2.0);
	for j=i+1:n
		ss=-c(di+j);
		for k=i+1:j-1
			dk=(k-1)*(n-k/2.0);
			ss=ss-c(di+k)*c(dk+j);
		end
		c(di+j)=ss;
	end
end
for i=1:n-1
	di=(i-1)*(n-i/2.0);
	for j=i:n
		dj=(j-1)*(n-j/2.0);
		if(j==i)
			ss=c(di+j);
		else
			ss=c(di+j)*c(dj+j);
		end
		for k=j+1:n
			dk=(k-1)*(n-k/2.0);
			ss=ss+c(di+k)*c(dj+k)*c(dk+k);
        end
		c(di+j)=ss;
    end
end
return

⌨️ 快捷键说明

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