How to fix: Index Exceeds Matrix Dimensions
clear
clc
clf
%***************************************************
% constants
rad=pi/180;
eps0=8.85e-12;
mu0=4*pi*1e-7;
eta0=sqrt(mu0/eps0); % free space
c=1/sqrt(eps0*mu0);
%***************************************************
% variables
d=2.5e-3; % thickness of the sample
f1=1e9; df=9e6; f2=10e9; Nf=floor((f2-f1)/df)+1; % frequency range and
% load raw data
M1r = csvread(‘sample.dat’,4); % Read the data
P1r = csvread(‘sample1.dat’,2); % Read the data
P2r = csvread(‘sample2.dat’,2); % Read the data
Mag1=M1r(:,2);
Mag2=M1r(:,3);
Ph1=-unwrap(P1r(:,2),180);
Ph2=-unwrap(P2r(:,2),180);
%*****************************************
% freqyency loop begin
for it=1:Nf
f=f1+(it-1)*df;
Fr(it)=f;
Fghz(it)=f/1e9;
fghz=f/1e9;
Z0=eta0; W=2*pi*Fr(it); beta0=W/c;
%*******************************************
% combine magnitude and phase of the S11 and S21
R(it)=Mag1(it)*exp(j*Ph1(it)*rad);………………………………………………..error Index exceeds matrix dimensions.
R(it)=Mag1(it)*exp(j*Ph1(it)*rad);
T(it)=Mag2(it)*exp(j*Ph2(it)*rad);
% m loop begin
Max=0; % ———m value set up
itt=0;
for m=-Max:Max
itt=itt+1;
%***************************************************
% using formulas from Robust method
Tp=T(it);
Z21(it)=sqrt(((1+R(it))^2-Tp^2)/((1-R(it))^2-Tp^2));
Z22(it)=-sqrt(((1+R(it))^2-Tp^2)/((1-R(it))^2-Tp^2));
expinkd1(it)=Tp/(1-R(it)*(Z21(it)-1)/(Z21(it)+1));
expinkd2(it)=Tp/(1-R(it)*(Z22(it)-1)/(Z22(it)+1));
if abs(real(Z21(it)))>=0.005 & real(Z21(it))>=0
expinkd(it)=expinkd1(it);
Z2(it)=Z21(it);
end
if abs(real(Z21(it)))>=0.005 & real(Z21(it))<0
expinkd(it)=expinkd2(it);
Z2(it)=Z22(it);
end
if abs(real(Z21(it)))<0.005 & abs(expinkd1(it))<=1
expinkd(it)=expinkd1(it);
Z2(it)=Z21(it);
end
if abs(real(Z21(it)))<0.005 & abs(expinkd1(it))>1
expinkd(it)=expinkd2(it);
Z2(it)=Z22(it);
end
ni(it)=-1/(beta0*d)*j*real(log(expinkd(it))); % imag of n
nr(it,itt)=1/(beta0*d)*(imag(log(expinkd(it)))+2*m*pi); %real of n
n2(it,itt)=nr(it,itt)+ni(it);
Er2(it,itt)=n2(it,itt)/Z2(it);
Mr2(it,itt)=n2(it,itt)*Z2(it);
end % end of m loop
end % end of frequency loopclear
clc
clf
%***************************************************
% constants
rad=pi/180;
eps0=8.85e-12;
mu0=4*pi*1e-7;
eta0=sqrt(mu0/eps0); % free space
c=1/sqrt(eps0*mu0);
%***************************************************
% variables
d=2.5e-3; % thickness of the sample
f1=1e9; df=9e6; f2=10e9; Nf=floor((f2-f1)/df)+1; % frequency range and
% load raw data
M1r = csvread(‘sample.dat’,4); % Read the data
P1r = csvread(‘sample1.dat’,2); % Read the data
P2r = csvread(‘sample2.dat’,2); % Read the data
Mag1=M1r(:,2);
Mag2=M1r(:,3);
Ph1=-unwrap(P1r(:,2),180);
Ph2=-unwrap(P2r(:,2),180);
%*****************************************
% freqyency loop begin
for it=1:Nf
f=f1+(it-1)*df;
Fr(it)=f;
Fghz(it)=f/1e9;
fghz=f/1e9;
Z0=eta0; W=2*pi*Fr(it); beta0=W/c;
%*******************************************
% combine magnitude and phase of the S11 and S21
R(it)=Mag1(it)*exp(j*Ph1(it)*rad);………………………………………………..error Index exceeds matrix dimensions.
R(it)=Mag1(it)*exp(j*Ph1(it)*rad);
T(it)=Mag2(it)*exp(j*Ph2(it)*rad);
% m loop begin
Max=0; % ———m value set up
itt=0;
for m=-Max:Max
itt=itt+1;
%***************************************************
% using formulas from Robust method
Tp=T(it);
Z21(it)=sqrt(((1+R(it))^2-Tp^2)/((1-R(it))^2-Tp^2));
Z22(it)=-sqrt(((1+R(it))^2-Tp^2)/((1-R(it))^2-Tp^2));
expinkd1(it)=Tp/(1-R(it)*(Z21(it)-1)/(Z21(it)+1));
expinkd2(it)=Tp/(1-R(it)*(Z22(it)-1)/(Z22(it)+1));
if abs(real(Z21(it)))>=0.005 & real(Z21(it))>=0
expinkd(it)=expinkd1(it);
Z2(it)=Z21(it);
end
if abs(real(Z21(it)))>=0.005 & real(Z21(it))<0
expinkd(it)=expinkd2(it);
Z2(it)=Z22(it);
end
if abs(real(Z21(it)))<0.005 & abs(expinkd1(it))<=1
expinkd(it)=expinkd1(it);
Z2(it)=Z21(it);
end
if abs(real(Z21(it)))<0.005 & abs(expinkd1(it))>1
expinkd(it)=expinkd2(it);
Z2(it)=Z22(it);
end
ni(it)=-1/(beta0*d)*j*real(log(expinkd(it))); % imag of n
nr(it,itt)=1/(beta0*d)*(imag(log(expinkd(it)))+2*m*pi); %real of n
n2(it,itt)=nr(it,itt)+ni(it);
Er2(it,itt)=n2(it,itt)/Z2(it);
Mr2(it,itt)=n2(it,itt)*Z2(it);
end % end of m loop
end % end of frequency loop clear
clc
clf
%***************************************************
% constants
rad=pi/180;
eps0=8.85e-12;
mu0=4*pi*1e-7;
eta0=sqrt(mu0/eps0); % free space
c=1/sqrt(eps0*mu0);
%***************************************************
% variables
d=2.5e-3; % thickness of the sample
f1=1e9; df=9e6; f2=10e9; Nf=floor((f2-f1)/df)+1; % frequency range and
% load raw data
M1r = csvread(‘sample.dat’,4); % Read the data
P1r = csvread(‘sample1.dat’,2); % Read the data
P2r = csvread(‘sample2.dat’,2); % Read the data
Mag1=M1r(:,2);
Mag2=M1r(:,3);
Ph1=-unwrap(P1r(:,2),180);
Ph2=-unwrap(P2r(:,2),180);
%*****************************************
% freqyency loop begin
for it=1:Nf
f=f1+(it-1)*df;
Fr(it)=f;
Fghz(it)=f/1e9;
fghz=f/1e9;
Z0=eta0; W=2*pi*Fr(it); beta0=W/c;
%*******************************************
% combine magnitude and phase of the S11 and S21
R(it)=Mag1(it)*exp(j*Ph1(it)*rad);………………………………………………..error Index exceeds matrix dimensions.
R(it)=Mag1(it)*exp(j*Ph1(it)*rad);
T(it)=Mag2(it)*exp(j*Ph2(it)*rad);
% m loop begin
Max=0; % ———m value set up
itt=0;
for m=-Max:Max
itt=itt+1;
%***************************************************
% using formulas from Robust method
Tp=T(it);
Z21(it)=sqrt(((1+R(it))^2-Tp^2)/((1-R(it))^2-Tp^2));
Z22(it)=-sqrt(((1+R(it))^2-Tp^2)/((1-R(it))^2-Tp^2));
expinkd1(it)=Tp/(1-R(it)*(Z21(it)-1)/(Z21(it)+1));
expinkd2(it)=Tp/(1-R(it)*(Z22(it)-1)/(Z22(it)+1));
if abs(real(Z21(it)))>=0.005 & real(Z21(it))>=0
expinkd(it)=expinkd1(it);
Z2(it)=Z21(it);
end
if abs(real(Z21(it)))>=0.005 & real(Z21(it))<0
expinkd(it)=expinkd2(it);
Z2(it)=Z22(it);
end
if abs(real(Z21(it)))<0.005 & abs(expinkd1(it))<=1
expinkd(it)=expinkd1(it);
Z2(it)=Z21(it);
end
if abs(real(Z21(it)))<0.005 & abs(expinkd1(it))>1
expinkd(it)=expinkd2(it);
Z2(it)=Z22(it);
end
ni(it)=-1/(beta0*d)*j*real(log(expinkd(it))); % imag of n
nr(it,itt)=1/(beta0*d)*(imag(log(expinkd(it)))+2*m*pi); %real of n
n2(it,itt)=nr(it,itt)+ni(it);
Er2(it,itt)=n2(it,itt)/Z2(it);
Mr2(it,itt)=n2(it,itt)*Z2(it);
end % end of m loop
end % end of frequency loop index exceeds matrix dimensions. error in check2 (line 37) r(it)=mag1(it)*exp(j*ph1(it)*rad) MATLAB Answers — New Questions