specify regions in compass

2 Ansichten (letzte 30 Tage)
Ahmed Siddig
Ahmed Siddig am 9 Jun. 2018
Beantwortet: Abby Skofield am 4 Okt. 2024
how can i specify the readings in compass function to display them in a specific region. for example when i enter
y=(9+170)
and i want it to display in (225,315) region or make the reading in (-,-) region how can i do that thank you in advance
  2 Kommentare
Walter Roberson
Walter Roberson am 9 Jun. 2018
Are you asking how to restrict the graphic output of compass() to a particular range of angles ?
Ahmed Siddig
Ahmed Siddig am 9 Jun. 2018
yes please

Melden Sie sich an, um zu kommentieren.

Akzeptierte Antwort

Walter Roberson
Walter Roberson am 9 Jun. 2018
For the case of compass(Z) with one variable, start with
U = real(Z);
V = imag(Z);
and then continue as for the case with two variables:
nu = numel(U);
[th,r] = cart2pol([zeros(nu,1), U(:), nan(nu,1)], [zeros(nu,1), V(:), nan(nu,1)]);
polarplot(th.', r.', 'b');
ax = gca;
if isprop(ax, 'ThetaLim')
ax.ThetaLim = [225, 315];
else
warning('Cannot restrict angle when you are plotting with hold on');
end
I did not go to the trouble of putting the arrowheads on the output.
  7 Kommentare
Walter Roberson
Walter Roberson am 13 Jun. 2018
Sorry, I do not understand where the points should be moved to, or what angle they should end up pointing.
Ahmed Siddig
Ahmed Siddig am 14 Jun. 2018
Sorry about that but you did solve it for me with
ax.ThetaLim = [225, 315]; thank you for that, and sorry i forgot to accept the answer.

Melden Sie sich an, um zu kommentieren.

Weitere Antworten (1)

Abby Skofield
Abby Skofield am 4 Okt. 2024
A few recent additions, beyond polaraxes/polarplot which were introduced in R2016a and which @Walter Roberson mentions, may help with use cases like yours. Here is an example showing how to use compassplot (new in R2024b) to visualize vectors eminating from the origin, how to customize the PolarAxes to display only half of the circle, and how to use polarregion (R2024a) to highlight a specific area within the axes.
t = deg2rad(linspace(20, 160,10));
compassplot(t,10:-1:1,LineWidth=2);
thetalim([0 180]) % change theta limits show only 0-180 degrees
polarregion([pi/3 2*pi/3],[4 8],FaceColor="#06AF8F") % highlight a region of interest

Kategorien

Mehr zu Images finden Sie in Help Center und File Exchange

Tags

Community Treasure Hunt

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

Start Hunting!

Translated by