Math Reference Notes: 基本运算律

在数学中,基本运算律为各种算术操作提供了规则与结构,这些规则适用于加法、减法、乘法和除法等运算。运算律不仅在算数中有广泛应用,也在代数、几何以及更高级的数学中起到重要作用。


1. 交换律(Commutative Law)

交换律适用于加法和乘法,表示在进行加法或乘法时,改变操作数的顺序并不会影响结果。

  • 加法的交换律:
    a+b=b+a a + b = b + a a+b=b+a
    这意味着,两个数相加时,顺序不重要。例如:3+5=5+33 + 5 = 5 + 33+5=5+3

  • 乘法的交换律:
    a×b=b×a a \times b = b \times a a×b=b×a
    这意味着,两个数相乘时,顺序也不重要。例如:4×7=7×44 \times 7 = 7 \times 44×7=7×4

注意:交换律不适用于减法和除法,例如 a−b≠b−aa - b \neq b - aab=ba,以及 a÷b≠b÷aa \div b \neq b \div aa÷b=b÷a

2. 结合律(Associative Law)

结合律描述了在进行多次加法或乘法时,改变运算的分组不会影响结果。

  • 加法的结合律:
    (a+b)+c=a+(b+c) (a + b) + c = a + (b + c) (a+b)+c=a+(b+c)
    这意味着在多次相加时,无论先算哪两个数,结果是一样的。例如:(2+3)+4=2+(3+4)(2 + 3) + 4 = 2 + (3 + 4)(2+3)+4=2+(3+4)

  • 乘法的结合律:
    (a×b)×c=a×(b×c) (a \times b) \times c = a \times (b \times c) (a×b)×c=a×(b×c)
    这意味着在多次相乘时,无论先乘哪两个数,结果是一样的。例如:(2×3)×4=2×(3×4)(2 \times 3) \times 4 = 2 \times (3 \times 4)(2×3)×4=2×(3×4)

注意:结合律同样不适用于减法和除法。例如,(a−b)−c≠a−(b−c)(a - b) - c \neq a - (b - c)(ab)c=a(bc) ,以及 (a÷b)÷c≠a÷(b÷c)(a \div b) \div c \neq a \div (b \div c)(a÷b)÷c=a÷(b÷c)

3. 分配律(Distributive Law)

分配律描述了乘法与加法(或减法)之间的关系。它允许我们将乘法分配到括号内的每个加数或减数上。

  • 乘法对加法的分配律:
    a×(b+c)=(a×b)+(a×c) a \times (b + c) = (a \times b) + (a \times c) a×(b+c)=(a×b)+(a×c)
    例如:2×(3+4)=2×3+2×42 \times (3 + 4) = 2 \times 3 + 2 \times 42×(3+4)=2×3+2×4,即 2×7=6+82 \times 7 = 6 + 82×7=6+8,最后结果是 14=1414 = 1414=14

  • 乘法对减法的分配律:
    a×(b−c)=(a×b)−(a×c) a \times (b - c) = (a \times b) - (a \times c) a×(bc)=(a×b)(a×c)
    例如:3×(5−2)=3×5−3×23 \times (5 - 2) = 3 \times 5 - 3 \times 23×(52)=3×53×2,即 3×3=15−63 \times 3 = 15 - 63×3=156,结果是 9=99 = 99=9

4. 单位律(Identity Law)

单位律描述了特定元素与加法或乘法运算的关系,这些元素被称为单位元

  • 加法的单位元:
    加法的单位元是0,因为任何数与 0 相加,结果还是这个数:
    a+0=a a + 0 = a a+0=a
    例如:7+0=77 + 0 = 77+0=7

  • 乘法的单位元:
    乘法的单位元是1,因为任何数与 1 相乘,结果还是这个数:
    a×1=a a \times 1 = a a×1=a
    例如:9×1=99 \times 1 = 99×1=9

5. 逆元律(Inverse Law)

逆元律描述了加法和乘法中相应的逆运算。

  • 加法的逆元:
    加法的逆元是相反数,即对任意数 aaa,存在一个数 −a-aa,使得:
    a+(−a)=0 a + (-a) = 0 a+(a)=0
    例如:5+(−5)=05 + (-5) = 05+(5)=0

  • 乘法的逆元:
    乘法的逆元是倒数,即对任意数 a≠0a \neq 0a=0,存在一个数 1a\frac{1}{a}a1,使得:
    a×1a=1 a \times \frac{1}{a} = 1 a×a1=1
    例如:4×14=14 \times \frac{1}{4} = 14×41=1

6. 零律(Zero Law)

零律描述了 0 在加法和乘法中的特殊性质。

  • 加法中的零律:
    加上 0 不改变数值:
    a+0=a a + 0 = a a+0=a
    例如:10+0=1010 + 0 = 1010+0=10

  • 乘法中的零律:
    任何数乘以 0 都等于 0:
    a×0=0 a \times 0 = 0 a×0=0
    例如:8×0=08 \times 0 = 08×0=0

7. 消去律(Cancellation Law)

消去律描述了在等式中,某些相同的数可以“消去”,但前提是这个数不为 0。

  • 加法的消去律:
    如果 a+c=b+ca + c = b + ca+c=b+c,那么可以消去 ccc,得出:
    a=b a = b a=b
    例如:如果 7+3=9+37 + 3 = 9 + 37+3=9+3,那么 7=97 = 97=9 是错误的。

  • 乘法的消去律:
    如果 a×c=b×ca \times c = b \times ca×c=b×c,并且 c≠0c \neq 0c=0,那么可以消去 ccc,得出:
    a=b a = b a=b
    例如:如果 4×5=6×54 \times 5 = 6 \times 54×5=6×5,那么 4=64 = 64=6 是错误的。

8. 对称律(Symmetric Law)

对称律说明等式两边的数可以互换位置。

  • 如果 a=ba = ba=b,则 b=ab = ab=a

这是一种反映等式的性质。

9. 传递律(Transitive Law)

传递律说明,如果一个数与另一个数相等,而后者又与第三个数相等,那么第一个数与第三个数也相等。

  • 如果 a=ba = ba=bb=cb = cb=c,则 a=ca = ca=c

10. 幂运算律(Exponentiation Laws)

幂运算是指重复的乘法运算,它有几条常见的运算律:

  • 乘方乘法律
    am×an=am+n a^m \times a^n = a^{m+n} am×an=am+n
    例如:23×24=23+4=272^3 \times 2^4 = 2^{3+4} = 2^723×24=23+4=27

  • 乘方除法律
    aman=am−n(a≠0) \frac{a^m}{a^n} = a^{m-n} \quad (a \neq 0) anam=amn(a=0)
    例如:2523=25−3=22\frac{2^5}{2^3} = 2^{5-3} = 2^22325=253=22

  • 乘方的乘方律
    (am)n=am×n (a^m)^n = a^{m \times n} (am)n=am×n
    例如:(23)2=23×2=26(2^3)^2 = 2^{3 \times 2} = 2^6(23)2=23×2=26

  • 乘积的幂
    (ab)n=an×bn (ab)^n = a^n \times b^n (ab)n=an×bn
    例如:(2×3)2=22×32=4×9=36(2 \times 3)^2 = 2^2 \times 3^2 = 4 \times 9 = 36(2×3)2=22×32=4×9=36

from micropython import const import machine import time import math _MAX31865_CONFIGURATION_REG = const(0x00) _MAX31865_RTD_MSB_REG = const(0x01) _MAX31865_RTD_LSB_REG = const(0x02) _MAX31865_HIGH_FAULT_THRESHOLD_MSB_REG = const(0x03) _MAX31865_HIGH_FAULT_THRESHOLD_LSB_REG = const(0x04) _MAX31865_LOW_FAULT_THRESHOLD_MSB_REG = const(0x05) _MAX31865_LOW_FAULT_THRESHOLD_LSB_REG = const(0x06) _MAX31865_FAULT_STATUS_REG = const(0x07) # hidden constants _REFERENCE_RESISTOR = const(430.0) _RTD_0 = const(100) # RTD resistance at 0degC _RTD_A = const(3.9083e-3) _RTD_B = (-5.775e-7) class MAX31865: """ MAX31865 thermocouple amplifier driver for the PT100 (2-wire) :param spi: SPI device, maximum baudrate is 5.0 MHz :param cs: chip select usage: from machine import Pin, SPI from max31865 import MAX31865 spi = SPI(0, baudrate=5000000, sck=2, mosi=3, miso=4) cs = Pin(5) sensor = MAX31865(spi, cs) temp = sensor.temperature """ def __init__(self, spi, cs, baudrate=5000000): if cs is None: raise ValueError("CS parameter must be provided") # initalize SPI bus and set CS pin high self.spi = spi cs.init(mode=machine.Pin.OUT, value=1) self.cs = cs self.configure(0x00) """" Configuration Register Definition D7: Vbias (1 = ON, 0 = OFF) D6: Conversion mode (1 = Auto, 0 = Normally off) D5: 1-shot (1 = 1-shot (auto-clear)) D4: 3-wire (1 = 3-wire RTD, 0 = 2-wire or 4-wire) D3-D2: Fault Detection Cycle Control D1: Fault Status Clear (1 = Clear (auto-clear)) D0: 50/60Hz filter select (1 = 50 Hz, 0 = 60 Hz) """ def configure(self, config): self.write(_MAX31865_CONFIGURATION_REG, config) time.sleep(0.065) def read(self, register, number_of_bytes = 1): # registers are accessed using the 0Xh addresses for reads try: self.cs.value(0) self.spi.write(bytearray([register & 0x7F])) return self.spi.read(number_of_bytes) except Exception as e: raise OSError(f"MAX31865: SPI Error: {e}") finally: self.cs.value(1) def write(self, register, data): # registers are accessed using the 8Xh addresses for writes try: self.cs.value(0) self.spi.write(bytearray([(register | 0x80) & 0xFF, data & 0xFF])) except Exception as e: raise OSError(f"MAX31865: SPI Error: {e}") finally: self.cs.value(1) # read the raw value of the thermocouple def read_rtd(self): self.configure(0xA0) rtd = self.read(_MAX31865_RTD_MSB_REG, 2) rtd = (rtd[0] << 8) | rtd[1] rtd >>= 1 return rtd # read the resistance of the PT100 in Ohms @property def resistance(self): resistance = self.read_rtd() resistance /= 32768 resistance *= _REFERENCE_RESISTOR return resistance # read the temperature of the PT100 in degrees (math: https://www.analog.com/media/en/technical-documentation/application-notes/AN709_0.pdf) @property def temperature(self): raw = self.resistance Z1 = -_RTD_A Z2 = _RTD_A * _RTD_A - (4 * _RTD_B) Z3 = (4 * _RTD_B) / _RTD_0 Z4 = 2 * _RTD_B temp = Z2 + (Z3 * raw) temp = (math.sqrt(temp) + Z1) / Z4 if temp >= 0: return temp raw /= _RTD_0 raw *= 100 # normalize to 100 ohms ) rpoly = raw temp = -242.02 temp += 2.2228 * rpoly rpoly *= raw # square temp += 2.5859e-3 * rpoly rpoly *= raw # ^3 temp -= 4.8260e-6 * rpoly rpoly *= raw # ^4 temp -= 2.8183e-8 * rpoly rpoly *= raw # ^5 temp += 1.5243e-10 * rpoly return temp 帮我分析上面这个程序,怎么把2线制改成3线制
最新发布
11-03
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值