Skip to content

Linspace

Gera um array com N Medidas de valor nominal [a,b] A incerteza será constante caso 'incertezas' for um número, mas se ela for um array cada Medida terá a respectiva incerteza. A unidade será a mesma e é opcional

Parameters:

Name Type Description Default
a

Menor nominal

required
b

Maior nominal

required
n

(int) Número de Medidas

required
incertezas

(float | iterable) incerteza ou array de incertezas

required
unidade

(str) unidade das medidas

False

Returns:

Name Type Description
arrayM ndarray[Medida]

array de Medidas

Examples:

>>> import LabIFSC2 as lab
>>> import numpy as np
>>> a=1 ; b=5 ; N=3
>>> tempo=lab.linspace(a,b,N,0.1,'s')
>>> tempo 
array([(1.0±0.1)s, (3.0±0.1)s, (5.0±0.1)s], dtype=object)
>>> tempo**2 
(1.0±0.2)s... (4.0±0.4)s ... (25±1)s]    

Esse é um exemplo com poucos pontos para que seja possível observar uma diferença significativa entre as Medidas

Source code in LabIFSC2/arrayM.py
 93
 94
 95
 96
 97
 98
 99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
def linspace(a,b,n : int,incertezas,unidade=False) -> np.ndarray[Medida]:
    """Gera um array com N Medidas de valor nominal [a,b]
    A incerteza será constante caso 'incertezas' for um número,
    mas se ela for um array cada Medida terá a respectiva incerteza.
    A unidade será a mesma e é opcional

    Args:
        a : Menor nominal
        b : Maior nominal
        n : (int) Número de Medidas
        incertezas : (float | iterable) incerteza ou array de incertezas
        unidade : (str) unidade das medidas

    Returns:
        arrayM : array de Medidas

    Examples:
        >>> import LabIFSC2 as lab
        >>> import numpy as np
        >>> a=1 ; b=5 ; N=3
        >>> tempo=lab.linspace(a,b,N,0.1,'s')
        >>> tempo 
        array([(1.0±0.1)s, (3.0±0.1)s, (5.0±0.1)s], dtype=object)
        >>> tempo**2 
        (1.0±0.2)s... (4.0±0.4)s ... (25±1)s]    

    Esse é um exemplo com poucos pontos para que
    seja possível observar uma diferença significativa
    entre as Medidas

    """
    n=int(n)
    nominais=np.linspace(a,b,n)
    if not hasattr(incertezas,'__iter__'):
        return np.array([Medida(i,incertezas,unidade) for i in nominais])
    if len(incertezas)!=len(nominais):
        raise ValueError('Número de incertezas incompatível com número de nominais')
    else:
        return np.array([Medida(i,j,unidade) for i,j in zip(nominais,incertezas)])