How can I plot the antenna array pattern/ the 3D pattern plot in MATLAB App Developer without plotting the figures in a new window?

17 ビュー (過去 30 日間)
I am trying to plot some figures in MATLAB App Designer such as the antenna pattern (rectangular and polar), the 3D array pattern, the array structure, etc. I want to plot the figures in the app, without opening them in a new window.
I am using functions such as:
  • pattern(app.ArrayURA,app.f,-180:180,-90:90,'PropagationSpeed',app.c,'Type','powerdb','CoordinateSystem','polar','Weights',app.w);
  • viewArray(app.ArrayURA,'ShowNormals',true,'ShowIndex','All');
  • plotSpectrum(app.estimator, 'NormalizeResponse', true);
How can I do so? I know that it is possible to use the UIAxes function, but how can you use it for a 3D plot or for the antenna array plot?

採用された回答

Kevin Holly
Kevin Holly 2022 年 10 月 28 日
You can add the following as a workaround (See app attached for an example):
h = gca;
app.UIAxes.XLabel = h.XLabel;
app.UIAxes.YLabel = h.YLabel;
app.UIAxes.Title = h.Title;
for ii = length(h.Children):-1:1
h.Children(ii).Parent = app.UIAxes;
end
close(gcf)
  4 件のコメント
Roby Karan
Roby Karan 2022 年 10 月 31 日
Yea it works, thank you so much for your help!
Roby Karan
Roby Karan 2022 年 11 月 1 日
I still have some issues with the polar plot. Is there a way to use the polar axes instead of the UIAxes?
I want to plot the following function:
pattern(array,fc,-180:180,0,'PropagationSpeed',c,'Type','powerdb',...
'CoordinateSystem','polar');
For instance, can I use: "pax = polaraxes(app.parent)"?

サインインしてコメントする。

その他の回答 (0 件)

製品


リリース

R2022a

Community Treasure Hunt

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

Start Hunting!

Translated by