非线性方程组的逆- MatLab

ffx8fchx  于 2023-01-31  发布在  Matlab
关注(0)|答案(1)|浏览(291)

我一直试图找出如何反演下面两个方程,但没有成功。正如你所看到的,这两个方程是相当复杂的非线性方程,将R和T(声学中的反射和透射系数)表示为变量n、k、d和xi的函数。我需要的是反演这些方程,并根据其他变量得到xi和n的表达式。i是虚数单位。
起始方程

我知道我需要得到的答案(第二张图),我试图使用一些MatLab代码复制这个答案。m是cos逆(arccos)函数的分支数。
目标解决方案

uplii1fm

uplii1fm1#

1.-由于surfplot和其他命令一样,要求XY长度相同,因此图形化反转函数(在AutoCAD中称为旋转UCS,而不是从符号反转尝试开始)是有意义的。
UCSU通用
C
坐标S系统。CAD图纸上的三脚架表示轴和原点。

% MATLAB
close all;clear all;clc

c0=299792458; % [m/s] light velocity

% guessing frequency band centre

f0=2e9;                 % [Hz]
lambda0=c0/f0;      % wavelength
k0=2*pi/lambda0   % wave number

d=.03  % 3 [cm]? chip size? connector? antenna? waveguide length? the kettle?

% range_n=[0:lambda0/10:lambda0/4];
range_n=[0:.01:4.25];
range_e=[0:.05:10];
[N,E]=meshgrid(range_n,range_e);

%% Reflection Coefficient

R=1j*tan(N*k0*d).*(1./E-E)./(2-1j*tan(N*k0*d).*(1./E+E));

figure(1);
ax1=gca;
hs1=surf(ax1,N,E,abs(R))
hs1.EdgeColor='none';
grid on;xlabel('n');ylabel('e');zlabel('abs(R)');title('|R(n,e)|')

xcr1_1=ax1.XTickLabel;  % x axis x measure ruler
xcr1_2=ax1.YTickLabel;  % x axis y measure ruler

figure(2);
ax2=gca;
hs2=surf(ax2,N,E,angle(R))
hs2.EdgeColor='none';
grid on;xlabel('n');ylabel('e');zlabel('angle(R)');title('phase(R(n,e)) [rad]')

%% Transmission Coefficient

T=2./(cos(N*k0*d).*(2-1j*tan(N*k0*d).*(1./E+E)));

figure(3);
ax3=gca;
hs3=surf(ax3,N,E,abs(T))
hs3.EdgeColor='none';
grid on;xlabel('n');ylabel('e');zlabel('abs(T)');title('|T(n,e)|')

有道理的是,在高反射的地方,透射率低,在低反射的地方,T接近或等于1。
这是一种无源器械/材料。

figure(4);
ax4=gca;
hs4=surf(ax4,N,E,angle(T))
hs4.EdgeColor='none';
grid on;xlabel('n');ylabel('e');zlabel('angle(T)');title('phase(T(n,e))')

2.-现在E来自另一侧,所寻求的反演:

E2up=abs((((1+R).^2-T.^2)./((1-R)-T.^2)).^.5);
E2down=-abs((((1+R).^2-T.^2)./((1-R)-T.^2)).^.5);

[sz_s11,sz_s12]=size(E2up);
range_s11=[1:1:sz_s11];
range_s12=[1:1:sz_s12];

[sz_s1,sz_s2]=size(E2up);
range_s11=[1:1:sz_s11];
range_s12=[1:1:sz_s12];

[S11,S12]=meshgrid(range_s11,range_s12);

% |E(S,T)|>0

figure(5);
ax5=gca;
hs5=surf(ax5,S11,S12,abs(E2up'));
hs5.EdgeColor='none';
grid on;xlabel('s1_R');ylabel('s1_T');zlabel('abs(E_u_p)');title('|E_u_p(s1_R,s1_T)|')

s1_Rs1_T在此特定上下文中的变量不是散射参数。
s1_rs1_T是与RTnm相关的已经使用的数字、索引。

3.-将倒置表面XY数字更改为RT

ax5.XTickLabel=xcr1_1;  % x axis x change ruler
ax5.YTickLabel=xcr1_2;  % x axis y change ruler
xlabel(ax5,'R');ylabel(ax5,'T');zlabel(ax5,'|(E_u_p)| positive values only');

% |E(S,T)|<0

ax6=gca;
hs6=surf(ax6,S11,S12,abs(E2down'));
hs6.EdgeColor='none';
grid on;xlabel('s1_R');ylabel('s1_T');zlabel('abs(E2_d_o_w_n)');title('|E_d_o_w_n(s1_R,s2_T)|')

ax6.XTickLabel=xcr1_1;  % x axis x change ruler
ax6.YTickLabel=xcr1_2;  % x axis y change ruler
xlabel(ax6,'R');ylabel(ax6,'T');zlabel(ax6,'|(E_d_o_w_n)| negative values only');

4.-评论:
**4.1.-**对angle(Edown(R,T))重复上述步骤,然后对n_up(R,T)n_down(R,T)重复上述步骤。
**4.2.-**包括2*pi*m/(k0*d)也应该不难。
**4.3.-**假设波导充满空气。

电介质将lambda0修改为lambda,将k0修改为k,并且可以添加更多截止。

4.4.-材料是否均质各向同性

相关问题