Cercando di codificare i punti su un cerchio [chiuso]

2

Sto cercando di capire questo:

Ho scritto un codice per i punti su un cerchio di raggio 1. Si noti che il primo e l'ultimo punto coincidono intenzionalmente.

do i=1,imax
X(i,1) = COS(-2*4.0*ATAN(1.0)*(i-1)/(imax-1))
Y(i,1) = SIN(-2*4.0*ATAN(1.0)*(i-1)/(imax-1))
print *, X(i,1)**2 + Y(i,1)**2 
end do

Il codice dovrebbe essere un cerchio, ma la figura seguente mostra la trama in Mathematica. Mi sembra un'ellisse. Sto facendo qualcosa di sbagliato? O è proprio questo il modo in cui Mathematica lo traccia?

Il comando per la trama è

ListPlot[a, PlotLabel -> "MeshPoints", AxesLabel -> {"x", "y"}, PlotRange -> {{-2, 2}, {-2, 2}}]
    
posta l3win 18.04.2013 - 05:49
fonte

3 risposte

20

È semplicemente una questione di due assi che non hanno le stesse dimensioni visivamente. Si può vedere che vanno in un raggio di 1 in tutte e 4 le direzioni, ovvero 5 segni, ma la distanza tra i segni è diversa tra l'asse x e l'asse y. Matematicamente, il tuo risultato è in realtà una cerchia , è il modo in cui lo stai rendendo che è il problema.

    
risposta data 18.04.2013 - 06:57
fonte
5

Quando esegui ListPlot [] in Mathematica, usa un rapporto proporzioni "Auto", che è qualcosa come il Golden Mean. Puoi vederlo nel tuo grafico (le zecche sono più vicine tra loro sull'asse Y rispetto all'asse X).

Per ottenere ciò che stai cercando, utilizza l'opzione AspectRatio- > 1, ad esempio:

ListPlot [Punti, AspectRatio - > 1]

Pubblicheremo una foto per te, ma lo scambio di stack non me lo consente.

In ogni caso, se usi AspectRatio nella trama, vedrai che hai una cerchia.

Per quanto riguarda le espressioni elencate, perché stai usando -2 * 4.0 * ATAN (1.0) anziché 2 * Pi?

-2 * 4.0 * ATAN (1.0) = - 2 Pi

    
risposta data 18.04.2013 - 08:33
fonte
1

Senza vedere la tua trama (vedi il mio commento sulla tua domanda), suppongo che la matematica non ti abbia dato assi quadrati, quindi distorce il cerchio. I tuoi parametri fanno descrivono una cerchia.

    
risposta data 18.04.2013 - 06:17
fonte

Leggi altre domande sui tag