Prony method in Acoustic Logging for dispersion analysis

2 次查看(过去 30 天)
Hello,I have a problem in editing the code with X.M.Tang's Chinese Book 'Quantitative logging acoustics',I have the 'right' code I thought,but the output isn't right,why?Who can help me?Now the code is as follows,
Function: function [a,ep,sk,k] = Pronycoef(A,p,w,dz) %A 振幅-是Ap的每一列-阵列声波的频谱 %p 阶数-振型数 %a 多项式特征方程系数 第一个元素为1 %w 每一列对应的角频率-去掉频率为零的 %ep 误差 %sk 每个频率对应的慢度—时差 %k 波数 N=length(A);%也就是Ap的行数 R=zeros(p+1,p+1,N-p); for n=p+1:N for i1=1:p+1 for k=1:p+1 R(i1,k,n)=A(n-k+1)*conj(A(n-i1+1)); end end end R1=sum(R,3);R2=R1(2:end,2:end); b=R1(2:end,1); a0=R2\(-b);a=[1,a0']; ep=sum(a.*R1(1,:)); %求此时的时差—慢度 zk=roots(a);%避免了一元多次方程的表示 sk=log(zk)/(-1j*w*dz); k=log(zk)/(-1j*dz); end

回答(0 个)

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!