2D or 3D from CST to matlab

21 views (last 30 days)
koorosh dastan
koorosh dastan on 27 Jul 2024
Commented: koorosh dastan on 5 Aug 2024
i work withh pattern function in matlab but i can get the result and only get err i dont know i can use it or not?
i get text from cst like it for 2D
Theta [deg.] Phi [deg.] Abs(Grlz)[dBi ] Abs(Theta)[dBi ] Phase(Theta)[deg.] Abs(Phi )[dBi ] Phase(Phi )[deg.] Ax.Ratio[dB ]
------------------------------------------------------------------------------------------------------------------------------------------------------
-180.000 90.000 -9.255e+00 -1.298e+01 149.214 -1.165e+01 26.420 5.450e+00
-179.900 90.000 -9.239e+00 -1.295e+01 148.947 -1.165e+01 26.368 5.407e+00
-179.800 90.000 -9.224e+00 -1.292e+01 148.681 -1.164e+01 26.315 5.364e+00
-179.700 90.000 -9.208e+00 -1.289e+01 148.418 -1.163e+01 26.263 5.321e+00
.
.
.
179.600 90.000 -9.319e+00 -1.309e+01 150.304 -1.168e+01 26.638 5.627e+00
179.700 90.000 -9.303e+00 -1.306e+01 150.029 -1.168e+01 26.584 5.582e+00
179.800 90.000 -9.287e+00 -1.303e+01 149.755 -1.167e+01 26.530 5.537e+00
179.900 90.000 -9.271e+00 -1.300e+01 149.484 -1.166e+01 26.477 5.493e+00
in above table i only use first three column which means i like to have pattern in constant phi with various theta
in cst i get this pattern and i want get it in matlab
or about 3d
Theta [deg.] Phi [deg.] Abs(Grlz)[dBi ] Abs(Theta)[dBi ] Phase(Theta)[deg.] Abs(Phi )[dBi ] Phase(Phi )[deg.] Ax.Ratio[dB ]
------------------------------------------------------------------------------------------------------------------------------------------------------
-180.000 -90.000 -9.255e+00 -1.298e+01 329.214 -1.165e+01 206.420 5.450e+00
-175.000 -90.000 -1.014e+01 -1.456e+01 345.709 -1.209e+01 209.583 8.372e+00
-170.000 -90.000 -1.106e+01 -1.607e+01 10.515 -1.271e+01 214.066 1.431e+01
.
.
.
170.000 -85.000 -8.273e+00 -1.118e+01 315.069 -1.139e+01 209.010 2.476e+00
175.000 -85.000 -8.594e+00 -1.155e+01 323.022 -1.166e+01 209.504 3.672e+00
.
.
-180.000 -80.000 -9.255e+00 -1.209e+01 338.042 -1.245e+01 214.316 5.450e+00
-175.000 -80.000 -1.012e+01 -1.327e+01 353.629 -1.299e+01 213.416 8.835e+00
-170.000 -80.000 -1.082e+01 -1.409e+01 16.458 -1.358e+01 212.867 1.684e+01
.
.
160.000 90.000 -1.153e+01 -1.477e+01 248.847 -1.431e+01 48.753 1.504e+01
165.000 90.000 -1.162e+01 -1.622e+01 221.795 -1.347e+01 40.323 3.825e+01
170.000 90.000 -1.106e+01 -1.607e+01 190.515 -1.271e+01 34.066 1.431e+01
175.000 90.000 -1.014e+01 -1.456e+01 165.709 -1.209e+01 29.583 8.372e+00
is it posssible to get them from matlab with patten func or other way
  3 Comments
Harald
Harald on 31 Jul 2024
When running this suggested code, I get the error message
Error using pattern
Too many input arguments.
Umar
Umar on 31 Jul 2024
Hi @Harald,
To resolve this error, I will make ensure that you are passing the correct number of arguments to the pattern function. Thanks for your contribution and helping out.

Sign in to comment.

Accepted Answer

Harald
Harald on 29 Jul 2024
Hi,
for 2D, I would recommend using polarplot:
polarplot(data(:,1), data(:,3))
If you want to separate by Phi, you can use logical indexing to extract the desired data, e.g.
selected = data(:,2) == 90;
polarplot(data(selected,1), data(selected,3))
and then use a loop.
For 3D, I am not aware of an out-of-the-box function. There have been questions around this with different answers, e.g.
Also, you may find File Exchange submissions like these to be helpful:
Best wishes,
Harald
  1 Comment
koorosh dastan
koorosh dastan on 5 Aug 2024
thx for your helps
this code get me similar chape like cst
some line like transpose dont need
data = load("a1.txt");
ff=data(:,1);
gg=ff.';
normalized_angles_deg = gg;
angles_rad = normalized_angles_deg * pi / 180;
ii=data(:,3);
hh=ii.';
polarplot(angles_rad,hh )
ax = gca;
ax.RLim = [-15, 10]; % Set radius limits to suitable dB range
ax.RTick = -15:5:5; % Set appropriate dB ticks
ax.ThetaTick = 0:30:315; % Set theta ticks
ax.ThetaZeroLocation = 'top'; % Set 0 degrees to the top (default is 'right')
grid on;

Sign in to comment.

More Answers (0)

Categories

Find more on Matrices and Arrays in Help Center and File Exchange

Community Treasure Hunt

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

Start Hunting!