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.

 Respuesta aceptada

Star Strider
Star Strider el 9 de Mayo de 2014

1 voto

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 comentarios

Farid sjdclkjas
Farid sjdclkjas el 9 de Mayo de 2014
Thank you for your help. your code is correct and realy helps me.
Star Strider
Star Strider el 9 de Mayo de 2014
My pleasure!

Iniciar sesión para comentar.

Categorías

Preguntada:

el 9 de Mayo de 2014

Comentada:

el 9 de Mayo de 2014

Community Treasure Hunt

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

Start Hunting!

Translated by