Vinnaren i pepparkakshustävlingen!
2022-06-13, 20:53
  #1
Medlem
Sitter och läser om numeriska beräkningar med matplotlib ,numpy. Nu skrivs det om sk masked arrays,
men gur gör man egentligen i praktiken för att få fram koefficienterna i den sk masked array?
Givet är en funktion typ
f(x,y)=cos(y*pi/Rsqrt(3))*cos(pi/2sqrt(3)R(y+3x) osv med flera termer i x och y
Från denna tas fram en sk masked array,
mask=(y<=np.sqrt(3)/2R)*(y>=-np.sqrt(3)/2*R osv.

Det jag undrar över är hur dessa koefficienter eller tal tas fram. Nollställena till f(x,y)?

Sedan i sista steget sätts mask in i uttrycket för z=f(x,y). Dvs x ersätts med mask
Citera
2022-06-13, 21:22
  #2
Medlem
Enterprises avatar
Citat:
Ursprungligen postat av janblommgren
Sitter och läser om numeriska beräkningar med matplotlib ,numpy. Nu skrivs det om sk masked arrays,
men gur gör man egentligen i praktiken för att få fram koefficienterna i den sk masked array?
Givet är en funktion typ
f(x,y)=cos(y*pi/Rsqrt(3))*cos(pi/2sqrt(3)R(y+3x) osv med flera termer i x och y
Från denna tas fram en sk masked array,
mask=(y<=np.sqrt(3)/2R)*(y>=-np.sqrt(3)/2*R osv.

Det jag undrar över är hur dessa koefficienter eller tal tas fram. Nollställena till f(x,y)?

Sedan i sista steget sätts mask in i uttrycket för z=f(x,y). Dvs x ersätts med mask
Jag tycker det fanns ett ganska talande exempel här i Numpy-dokumentationen:
Citat:
Data with a given value representing missing data
Let’s consider a list of elements, x, where values of -9999. represent missing data. We wish to compute the average value of the data and the vector of anomalies (deviations from the average):

Kod:
import numpy.ma as ma
= [0.,1.,-9999.,3.,4.]
mx ma.masked_values (x, -9999.)
print(
mx.mean()) 
2.0
Kod:
print(mx mx.mean()) 
[-2.0 -1.0 -- 1.0 2.0]
Kod:
print(mx.anom()) 
[-2.0 -1.0 -- 1.0 2.0]

Citat:
Ignoring extreme values¶
Let’s consider an array d of floats between 0 and 1. We wish to compute the average of the values of d while ignoring any data outside the range [0.2, 0.9]:

Kod:
np.linspace(0120)
print(
d.mean() - ma.masked_outside(d0.20.9).mean()) 
-0.05263157894736836

De "maskerade" delarna av masked array bestäms här med masked_values respektive masked_outside.
Dessa maskerade delar ignoreras vid numpys räkneoperationer på data-arrayen.

Du kan istället fylla i de saknade (maskerade) medlemmarna av "arrayen":
Citat:
Filling in the missing data
Suppose now that we wish to print that same data, but with the missing values replaced by the average value.

Kod:
print(mx.filled(mx.mean())) 
[ 0. 1. 2. 3. 4.]
__________________
Senast redigerad av Enterprise 2022-06-13 kl. 21:26.
Citera
2022-06-14, 07:32
  #3
Moderator
vhes avatar
Systemutveckling --> Python
/Moderator
Citera

Stöd Flashback

Flashback finansieras genom donationer från våra medlemmar och besökare. Det är med hjälp av dig vi kan fortsätta erbjuda en fri samhällsdebatt. Tack för ditt stöd!

Stöd Flashback