Fájl:Associated Legendre Poly.svg

Az oldal más nyelven nem érhető el.
A Wikipédiából, a szabad enciklopédiából

Eredeti fájl(SVG fájl, névlegesen 540 × 360 képpont, fájlméret: 48 KB)

Összefoglaló

Leírás
English: Curves of Associated Legendre function. The functions are normalized, i.e. what is plotted is
Dátum
Forrás A feltöltő saját munkája
Szerző Krishnavedala
SVG kód
InfoField
 
Ezen SVG kép forráskódja érvényes.
 
Ez vektorgrafikus kép Matplotlib segítségével készült
Forráskód
InfoField

Python code

Source code
#include    <stdio.h>
#include    <stdlib.h>
#include    <math.h>
#include    <unistd.h>
#include    <gsl/gsl_sf_legendre.h>
#include    <plplot/plplot.h>

#ifndef PI
#define PI    3.1415926535897932384
#endif

#define		modulus(a)		(a > 0 ? a : -a)

typedef struct quant_num
{
	int l, m, n;
} quant_num;

const long unsigned int NUM_PTS = 5000;
const PLINT XMAX = 1;
const PLINT YMAX = 1;

void aLegendre(PLFLT *x, PLFLT *y, quant_num *numbers)
{
	long unsigned int i = 0;
	float step = 2.0/NUM_PTS, t = -1.0;
	
	while(t < 1.0 && i < NUM_PTS)
	{
		x[i] = (PLFLT)t;
		y[i] = (PLFLT)gsl_sf_legendre_sphPlm(numbers->l, abs(numbers->m), (const double)t);
		i++;
		t += step;
	}
}

void drawlegend(int n)
{
	PLINT 	nLegend = n+1;
	char 	*text[nLegend];
	int i;
	PLINT	opt_array[nLegend];
	PLINT	text_colors[nLegend];
	PLINT	line_colors[nLegend];
	PLINT	line_styles[nLegend];
	PLINT	line_widths[nLegend];
	PLINT 	symbol_numbers[nLegend];
	PLINT 	symbol_colors[nLegend];
	PLINT 	symbols[nLegend];
	PLFLT	symbol_scales[nLegend];
	PLINT	box_colors[nLegend] = {15};
	
	symbol_numbers[n] = n;
	symbol_colors[n] = n;
	symbols[n] 		 = '.';
	symbol_scales[n] = 1.;
	
	for(i = 0; i <= n; i++)
	{
		text[i] = malloc(15 * sizeof(char));
		if(i>0)
			sprintf(text[i], "l=5, &#124;m&#124;=%d",i);
		else
			sprintf(text[i], "l=5, m=%d",i);
		line_colors[i]	= i+1;
		line_styles[i]	= 1;
		line_widths[i]	= 1;
		text_colors[i] 	= 15;
		opt_array[i] 	= PL_LEGEND_LINE;
	}
	
	pllegend(0, 0.72, .87, .05, 15,
		nLegend, opt_array, 0.5, 0.7, 1.5, 0,
		text_colors, (const char**) text, 
		box_colors, NULL, NULL, 
		line_colors, line_styles, line_widths,
		symbol_colors, symbol_scales, symbol_numbers, symbols);
	for(i = 0; i <= n; i++)
		free(text[i]);
}

int main(void)
{
    PLFLT X[NUM_PTS], Y[NUM_PTS];
    quant_num test_num[6];
    int i;
	
    plscol0(0, 255, 255, 255);
    plinit();
    plscol0(15, 0, 0, 0);
    plcol(15);
    plenv(-XMAX,XMAX, -YMAX,YMAX, 0, 2);

    pllab("x", "P#dl#u#um#d(x)", "Associated Legendre Polynomials");
    plbox( "bcnst", 0, 0, "bcnstv", 0, 0);    plcol(1);
    for(i = 0; i <= 5; i++)
    {
		test_num[i].l = 5; 	test_num[i].m = i; 	test_num[i].n = 1; 
		orbital(X, Y, &test_num[i]); plcol(i+1);
		plline(NUM_PTS, X, Y);
    }

    drawlegend(test_num[0].l);
    
    plend();

    return 0;
}

Data

Source code
import matplotlib.pyplot as plt
from scipy.special import lpmv
import numpy as np
plt.rc('svg', fonttype='none')
plt.rc('text', usetex=1)

dt = 1e-3
l = 5
x = np.arange(-1, 1, dt)
y = []
for m in range(l+1):
    y.append(lpmv(m, l, x))
    
fig, ax = plt.subplots(1,1, figsize=(10,6))
for m in range(l+1):
    ax.plot(x, y[m] / np.linalg.norm(y[m]), label=r'$l=%d, &#124;m&#124;=%d$' % (l, m))
ax.grid(True)
ax.legend()
ax.minorticks_on()
ax.set_xlim([-1,1])
ax.set_xlabel(r'$x$')
ax.set_ylabel(r'$P_l^m(x)$')
fig.savefig('legendre.svg', bbox_inches='tight')

Licenc

Én, e mű szerzője a művemet az alábbi licencek alatt teszem közzé:
w:hu:Creative Commons
Nevezd meg! Így add tovább!
Ez a fájl a Creative Commons Nevezd meg! – Így add tovább! 3.0 Unported licenc alapján használható fel.
A következőket teheted a művel:
  • megoszthatod – szabadon másolhatod, terjesztheted, bemutathatod és előadhatod a művet
  • feldolgozhatod – származékos műveket hozhatsz létre
Az alábbi feltételekkel:
  • Nevezd meg! – A szerzőt megfelelően fel kell tüntetned, hivatkozást kell létrehoznod a licencre és jelezned kell, ha a művön változtatást hajtottál végre. Ezt bármilyen észszerű módon megteheted, kivéve oly módon, ami azt sugallná hogy a jogosult támogat téged vagy a felhasználásod körülményeit.
  • Így add tovább! – Ha megváltoztatod, átalakítod, feldolgozod ezt a művet, a közreműködésedet csak az eredetivel megegyező vagy hasonló licenc alatt terjesztheted.
GNU head Ez a fájl szabadon másolható, terjeszthető és/vagy módosítható a GNU Szabad Dokumentációs Licenc feltételei alapján, az 1.2 vagy későbbi, a Free Software Foundation által publikált Nem Változtatható szakaszok, Címlapszövegek és Hátlapszövegek nélküli változat szerint. E licenc egy példánya a GNU Szabad Dokumentációs Licenc című fejezetben olvasható.
A mű a fenti licencek bármelyike szerint felhasználható.

Képaláírások

Adj meg egy egysoros magyarázatot arról, hogy mit mutat be ez a fájl

A fájl által ábrázolt elemek

mű tárgya

25. november 2010

16ecdc42e0ba939e12c1f09283ede01be5608034

49 502 byte

360 képpont

540 képpont

Fájltörténet

Kattints egy időpontra, hogy a fájl akkori állapotát láthasd.

Dátum/időBélyegképFelbontásFeltöltőMegjegyzés
aktuális2020. december 3., 22:38Bélyegkép a 2020. december 3., 22:38-kori változatról540 × 360 (48 KB)AkanoToEAdjusted normalization, legend formatting, and text formatting
2018. április 25., 00:05Bélyegkép a 2018. április 25., 00:05-kori változatról785 × 466 (69 KB)KrishnavedalaReverted to version as of 21:58, 24 April 2018 (UTC) - fonts not rendered properly on wiki
2018. április 25., 00:04Bélyegkép a 2018. április 25., 00:04-kori változatról795 × 468 (47 KB)Krishnavedalaremoved embedded fonts - smaller file size
2018. április 24., 23:58Bélyegkép a 2018. április 24., 23:58-kori változatról785 × 466 (69 KB)Krishnavedalarecreated better clarity and smaller size
2010. november 25., 16:31Bélyegkép a 2010. november 25., 16:31-kori változatról900 × 675 (508 KB)Krishnavedala{{Information |Description={{en|1=Curves of Associated Legendre function generated in C program using the PLplot library.}} |Source={{own}} |Author=[[User:Krishnavedala|

Az alábbi lap használja ezt a fájlt:

Globális fájlhasználat

A következő wikik használják ezt a fájlt:

Metaadatok