3D plot in a circle

9 visualizzazioni (ultimi 30 giorni)
Farid sjdclkjas
Farid sjdclkjas il 9 Mag 2014
Commentato: Star Strider il 9 Mag 2014
Hi everybody,
I have the followng function: Sx=(SH*(sin(a))^2+Sh*(cos(a))^2)*sin(i)+Sv*(sin(i))^2;
SH, Sh and Sv have constant values, but "a" and "i" are angles which change from 0-360 and 0-90; respectivly. I want to plot Sx vs "a" & "i" in a circle like the picture.The color bar in the right side of this graph shows the range for Sx values. This circle is partitioned with internal dashed lines and circles. The dashed lines show "a" values changing from 0-360 degrees. each internal dashed circle shows a value for “i” changing from 0 to 90 degrees. The bigger the dashed circle, the larger the i values.
Can anyone offer any suggestions? Thanks.

Risposta accettata

Star Strider
Star Strider il 9 Mag 2014
I can’t get it to look exactly like the figure you posted( I don’t have the correct values for the constants), but this will work for a start:
SH = 3; Sh = 5; Sv = 7;
Sx=@(a,i) (SH.*(sin(a)).^2+Sh.*(cos(a)).^2).*sin(i)+Sv.*(sin(i)).^2;
a = 0:360;
i = 0:90;
[A, I] = meshgrid(0:360, 0:90);
Sxc = Sx(A, I);
[Aa, Ir, Scp] = pol2cart(A, I, Sxc);
figure(2)
contour(Aa, Ir, (Scp))
grid on
colormap('jet')
axis equal tight
  2 Commenti
Farid sjdclkjas
Farid sjdclkjas il 9 Mag 2014
Thank you for your help. your code is correct and realy helps me.
Star Strider
Star Strider il 9 Mag 2014
My pleasure!

Accedi per commentare.

Più risposte (1)

A Jenkins
A Jenkins il 9 Mag 2014

Categorie

Scopri di più su 2-D and 3-D Plots in Help Center e File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by