草庐IT

由两个重要极限推导常见等价无穷小以及常见导数公式

yangqin@1225 2023-04-04 原文

背景

在学习高等数学的极限和导数时,发现老师给了很多等价无穷小公式以及求导法则,记忆力有限,死记硬背容易背叉,所以尝试动手推导其过程,加深理解。

推导原则:利用两个重要极限和无穷小替换推导,尽可能不用后面的知识,如洛必达法则,泰勒公式等。后面公式的推导可能会用到前面已经推导的结论(因为按照教程顺序还没学到后面知识~)。

常见无穷小

常见求导法则

两个重要极限

这两个重要极限不做推导,只有死记硬背,作为后续基础。

第一个重要极限

lim ⁡ x → 0 x s i n x = 1 \lim_{x\rightarrow0}\frac{x}{sinx}=1 x0limsinxx=1

第二个重要极限

lim ⁡ x → + ∞ ( 1 + 1 x ) x = e \lim_{x\rightarrow+\infty}(1+\frac{1}{x})^x=e x+lim(1+x1)x=e
在我当前的理解里,后续的洛必达法则其实就是求导,对指数及对数函数来说,求导和无穷小替换都会用到这个重要极限,这也是为什么我在之前的文章说:在证明这个重要极限时不能使用洛必达法则

等价无穷小

定义,当 f ( x ) → 0 , g ( x ) → 0 f(x)\rightarrow0,g(x)\rightarrow0 f(x)0,g(x)0时,如果 lim ⁡ x → 0 f ( x ) g ( x ) = 1 \lim_{x\rightarrow0}\frac{f(x)}{g(x)}=1 limx0g(x)f(x)=1,那么说g(x)和f(x)为等价无穷小,记作f(x)~g(x)

tanx~x

lim ⁡ x → 0 t a n x x = lim ⁡ x → 0 s i n x c o s x ∗ x = lim ⁡ x → 0 1 c o s x = 1 \lim_{x\rightarrow0}\frac{tanx}{x}=\lim_{x\rightarrow0}\frac{sinx}{cosx*x}=\lim_{x\rightarrow0}\frac{1}{cosx}=1 limx0xtanx=limx0cosxxsinx=limx0cosx1=1

arcsinx~x

lim ⁡ x → 0 a r c s i n x x = lim ⁡ t → 0 t s i n t = 1 \lim_{x\rightarrow0}\frac{arcsinx}{x}=\lim_{t\rightarrow0}\frac{t}{sint}=1 limx0xarcsinx=limt0sintt=1

原函数不好理解,可以考虑换元法,即转为反函数。令arcsinx=t,则sint=x。后续不再单独解释

arctanx~x

lim ⁡ x → 0 a r c t a n x x = lim ⁡ t → 0 t t a n t = 1 \lim_{x\rightarrow0}\frac{arctanx}{x}=\lim_{t\rightarrow0}\frac{t}{tant}=1 limx0xarctanx=limt0tantt=1

ln(1+x)~x

lim ⁡ x → 0 l n ( 1 + x ) x = lim ⁡ x → 0 l n ( 1 + x ) 1 x = l n ( lim ⁡ x → + ∞ ( 1 + 1 x ) x ) = l n e = 1 \lim_{x\rightarrow0}\frac{ln(1+x)}{x}= \lim_{x\rightarrow0}ln(1+x)^\frac{1}{x}= ln( \lim_{x\rightarrow+\infty}(1+\frac{1}{x})^x)= lne=1 x0limxln(1+x)=x0limln(1+x)x1=ln(x+lim(1+x1)x)=lne=1

e^x-1~x

e x − 1 = t e^x-1=t ex1=t,则x=ln(1+t)。因为 x → 0 x\rightarrow0 x0,所以 t → 0 t\rightarrow0 t0
lim ⁡ x → 0 e x − 1 x = lim ⁡ t → 0 t l n ( 1 + t ) = 1 \lim_{x\rightarrow0}\frac{e^x-1}{x}=\lim_{t\rightarrow0}\frac{t}{ln(1+t)}=1 x0limxex1=t0limln(1+t)t=1

a^x-1~xlna

预备知识
对数函数不好理解,转为指数函数就好了
假设 log ⁡ a ( t + 1 ) = m , ln ⁡ a = n \log_a(t+1)=m,\ln a=n loga(t+1)=mlna=n,那么有:
a m = t + 1 , e n = a a^m=t+1,e^n=a am=t+1,en=a,所以, ( e n ) m = t + 1 (e^n)^m=t+1 (en)m=t+1,即: e m n = t + 1 = > m ∗ n = l n ( t + 1 ) e^{mn}=t+1=>m*n=ln(t+1) emn=t+1=>mn=ln(t+1)
所以有结论: log ⁡ a ( t + 1 ) ∗ ln ⁡ a = m ∗ n = ln ⁡ ( t + 1 ) \log_a(t+1)*\ln a=m*n=\ln(t+1) loga(t+1)lna=mn=ln(t+1)

正式推导:

lim ⁡ x → 0 a x − 1 x ln ⁡ a = lim ⁡ t → 0 t log ⁡ a ( t + 1 ) ln ⁡ a = lim ⁡ t → 0 t ln ⁡ ( t + 1 ) = 1 \lim_{x\rightarrow0}\frac{a^x-1}{x\ln a}=\lim_{t\rightarrow0}\frac{t}{\log_a(t+1)\ln a}=\lim_{t\rightarrow0}\frac{t}{\ln(t+1)}=1 x0limxlnaax1=t0limloga(t+1)lnat=t0limln(t+1)t=1

(1+bx)^a-1~abx

因为
lim ⁡ x → 0 l n ( 1 + x ) x = 1 \lim_{x\rightarrow0}\frac{ln(1+x)}{x}=1 limx0xln(1+x)=1
所以
lim ⁡ t → 1 l n ( t ) t − 1 = 1 \lim_{t\rightarrow1}\frac{ln(t)}{t-1}=1 limt1t1ln(t)=1

所以下面令t=(1+bx)^a, x → 0 , 则 t → 1 x\rightarrow0,则t\rightarrow1 x0,t1
所以利用等价无穷小 lim ⁡ t → 1 l n ( t ) t − 1 = 1 \lim_{t\rightarrow1}\frac{ln(t)}{t-1}=1 limt1t1ln(t)=1 替换:
lim ⁡ x → 0 ( 1 + b x ) a − 1 a b x = lim ⁡ x → 0 l n ( 1 + b x ) a a b x = lim ⁡ x → 0 l n ( 1 + b x ) b x = 1 \lim_{x\rightarrow0}\frac{(1+bx)^a-1}{abx}=\lim_{x\rightarrow0}\frac{ln(1+bx)^a}{abx}=\lim_{x\rightarrow0}\frac{ln(1+bx)}{bx}=1 limx0abx(1+bx)a1=limx0abxln(1+bx)a=limx0bxln(1+bx)=1

(1+x)^(1/n)-1 ~ x/n

1 + x n − 1 \sqrt[n]{1+x}-1 n1+x 1 ~ 1 n x \frac{1}{n}x n1x
预备知识:
a n − 1 = a n + a n − 1 + a n − 2 + . . . + a − ( a n − 1 + a n − 2 + . . . + a ) − 1 a^n-1=a^n+a^{n-1}+a^{n-2}+...+a-(a^{n-1}+a^{n-2}+...+a)-1 an1=an+an1+an2+...+a(an1+an2+...+a)1
= a n + a n − 1 + a n − 2 + . . . + a − ( a n − 1 + a n − 2 + . . . + a + 1 ) =a^n+a^{n-1}+a^{n-2}+...+a-(a^{n-1}+a^{n-2}+...+a+1) =an+an1+an2+...+a(an1+an2+...+a+1)
= a ∗ ( a n − 1 + a n − 2 + . . . + a + 1 ) − ( a n − 1 + a n − 2 + . . . + a + 1 ) =a*(a^{n-1}+a^{n-2}+...+a+1)-(a^{n-1}+a^{n-2}+...+a+1) =a(an1+an2+...+a+1)(an1+an2+...+a+1)
= ( a − 1 ) ( a n − 1 + a n − 2 + . . . + a + 1 ) =(a-1)(a^{n-1}+a^{n-2}+...+a+1) =(a1)(an1+an2+...+a+1)
正式推导
lim ⁡ x → 0 1 + x n − 1 x n \lim_{x\rightarrow0}\frac{\sqrt[n]{1+x}-1}{\frac{x}{n}} limx0nxn1+x 1
= lim ⁡ x → 0 ( 1 + x ) 1 n − 1 x n =\lim_{x\rightarrow0}\frac{(1+x)^{\frac{1}{n}}-1}{\frac{x}{n}} =limx0nx(1+x)n11

( 1 + x ) 1 n (1+x)^{\frac{1}{n}} (1+x)n1看作预备知识中的a,则
原式= lim ⁡ x → 0 n ∗ ( 1 + x − 1 ) x ∗ ( ( 1 + x ) n − 1 n + ( 1 + x ) n − 2 n + . . . + ( 1 + x ) 1 n + 1 ) \lim_{x\rightarrow0}\frac{n*(1+x-1)}{x*((1+x)^{\frac{n-1}{n}}+(1+x)^{\frac{n-2}{n}}+...+(1+x)^{\frac{1}{n}}+1 )} limx0x((1+x)nn1+(1+x)nn2+...+(1+x)n1+1)n(1+x1)

= lim ⁡ x → 0 n x x ∗ ( n − 1 + 1 ) = 1 =\lim_{x\rightarrow0}\frac{nx}{x*(n-1+1)}=1 =limx0x(n1+1)nx=1

loga(1+x)~ x/lna

lim ⁡ x → 0 log ⁡ a ( 1 + x ) x ln ⁡ a = lim ⁡ x → 0 ln ⁡ a ∗ log ⁡ a ( 1 + x ) x = lim ⁡ x → 0 l n ( 1 + x ) x = 1 \lim_{x\rightarrow0}\frac{\log_a(1+x)}{\frac{x}{\ln a}}=\lim_{x\rightarrow0}\frac{\ln a*\log_a(1+x)}{x}=\lim_{x\rightarrow0}\frac{ln(1+x)}{x}=1 limx0lnaxloga(1+x)=limx0xlnaloga(1+x)=limx0xln(1+x)=1

tanx-sinx~ 1/2x^3

lim ⁡ x → 0 t a n x − s i n x 1 2 ∗ x 3 = lim ⁡ x → 0 s i n x ∗ ( 1 − c o s x ) c o s x 1 2 ∗ x 3 = lim ⁡ x → 0 2 ∗ s i n x ∗ ( 1 − c o s x ) x 3 ∗ c o s x = lim ⁡ x → 0 2 ∗ ( 1 − c o s x ) sin ⁡ 2 x ∗ c o s x = lim ⁡ x → 0 2 ∗ ( 1 − c o s x ) ( 1 + c o s x ) ∗ ( 1 − c o s x ) ∗ c o s x = lim ⁡ x → 0 2 ( 1 + c o s x ) ∗ c o s x = 1 \lim_{x\rightarrow0}\frac{tanx-sinx}{\frac{1}{2}*x^3}=\lim_{x\rightarrow0}\frac{\frac{sinx*(1-cosx)}{cosx}}{\frac{1}{2}*x^3}=\lim_{x\rightarrow0}\frac{2*sinx*(1-cosx)}{x^3*cosx}=\lim_{x\rightarrow0}\frac{2*(1-cosx)}{\sin^2x*cosx}=\lim_{x\rightarrow0}\frac{2*(1-cosx)}{(1+cosx)*(1-cosx)*cosx}=\lim_{x\rightarrow0}\frac{2}{(1+cosx)*cosx}=1 limx021x3tanxsinx=limx021x3cosxsinx(1cosx)=limx0x3cosx2sinx(1cosx)=limx0sin2xcosx2(1cosx)=limx0(1+cosx)(1cosx)cosx2(1cosx)=limx0(1+cosx)cosx2=1

1-cosx ~ x^2/2

lim ⁡ x → 0 1 − c o s x x 2 2 = lim ⁡ x → 0 2 ∗ ( 2 ∗ sin ⁡ 2 x 2 ) x 2 = lim ⁡ x → 0 x 2 x 2 = 1 \lim_{x\rightarrow0}\frac{1-cosx}{\frac{x^2}{2}}=\lim_{x\rightarrow0}\frac{2*(2*\sin^2\frac{x}{2})}{x^2}=\lim_{x\rightarrow0}\frac{x^2}{x^2}=1 limx02x21cosx=limx0x22(2sin22x)=limx0x2x2=1

x-sinx~ 1/6x^3

暂时无法仅利用极限或等价无穷小知识证明,必须用到洛必达法则
洛必达法则理解参考:https://blog.csdn.net/qq_31076523/article/details/104737300
在运用洛必达法则的过程中会用到求导知识,本例来说用到了以下三类,这三类公式的证明参考后面的求导法则证明
C ′ = 0 ( C 为 常 数 ) C'=0(C为常数) C=0(C)
( x n ) ′ = ( n − 1 ) ∗ x (x^n)'=(n-1)*x (xn)=(n1)x
s i n ′ ( x ) = c o s x sin'(x)=cosx sin(x)=cosx
c o s ′ ( x ) = − s i n x cos'(x)=-sinx cos(x)=sinx

lim ⁡ x → 0 x − s i n x x 3 6 = lim ⁡ x → 0 1 − c o s x 3 x 2 6 = lim ⁡ x → 0 s i n x x = 1 \lim_{x\rightarrow0}\frac{x-sinx}{\frac{x^3}{6}}=\lim_{x\rightarrow0}\frac{1-cosx}{\frac{3x^2}{6}}=\lim_{x\rightarrow0}\frac{sinx}{x}=1 limx06x3xsinx=limx063x21cosx=limx0xsinx=1

tanx-x~ 1/3x^3

运用洛必达法则时用到了求导法则 t a n x = 1 cos ⁡ 2 x tanx=\frac{1}{\cos^2x} tanx=cos2x1

lim ⁡ x → 0 t a n x − x x 3 3 = lim ⁡ x → 0 1 c o s 2 x − 1 x 2 = lim ⁡ x → 0 tan ⁡ 2 x x 2 = 1 \lim_{x\rightarrow0}\frac{tanx-x}{\frac{x^3}{3}}=\lim_{x\rightarrow0}\frac{\frac{1}{cos^2x}-1}{x^2}=\lim_{x\rightarrow0}\frac{\tan^2x}{x^2}=1 limx03x3tanxx=limx0x2cos2x11=limx0x2tan2x=1

x-ln(1+x) ~ x^2/2

运用洛必达法则时用到了求导法则 l n ( 1 + x ) = 1 x + 1 ln(1+x)=\frac{1}{x+1} ln(1+x)=x+11

lim ⁡ x → 0 x − l n ( 1 + x ) x 2 2 = lim ⁡ x → 0 1 − 1 1 + x x = lim ⁡ x → 0 x ( 1 + x ) ∗ x = lim ⁡ x → 0 1 ( 1 + x ) = 1 \lim_{x\rightarrow0}\frac{x-ln(1+x)}{\frac{x^2}{2}}=\lim_{x\rightarrow0}\frac{1-\frac{1}{1+x}}{x}=\lim_{x\rightarrow0}\frac{x}{(1+x)*x}=\lim_{x\rightarrow0}\frac{1}{(1+x)}=1 limx02x2xln(1+x)=limx0x11+x1=limx0(1+x)xx=limx0(1+x)1=1

最后三例均通过洛必达法则证明,可以看到简化了很多计算。

求导法则

求导用定义证明就是求极限。
求极限时,形式为 0 0 \frac{0}{0} 00 型时,可以根据上述的等价无穷小进行替换。

(x^n)'=(n-1)*x

( x n ) ′ = lim ⁡ t → 0 ( x + t ) n − x n t = lim ⁡ t → 0 ( C n 0 ∗ x n + C n 1 ∗ x n − 1 t + C n 2 ∗ x n − 2 ∗ t 2 + . . . + C n n t n ) − x n t = lim ⁡ t → 0 ( C n 1 ∗ x n − 1 t + C n 2 ∗ x n − 2 ∗ t 2 + . . . + C n n t n ) t (x^n)'=\lim_{t\rightarrow 0}\frac{(x+t)^n-x^n}{t}=\lim_{t\rightarrow 0}\frac{(C_n^0*x^n+C_n^1*x^{n-1}t+C_n^2*x^{n-2}*t^2+...+C_n^nt^n)-x^n}{t} =\lim_{t\rightarrow 0}\frac{(C_n^1*x^{n-1}t+C_n^2*x^{n-2}*t^2+...+C_n^nt^n)}{t} (xn)=limt0t(x+t)nxn=limt0t(Cn0xn+Cn1xn1t+Cn2xn2t2+...+Cnntn)xn=limt0t(Cn1xn1t+Cn2xn2t2+...+Cnntn)
= lim ⁡ t → 0 ( C n 1 ∗ x n − 1 + C n 2 ∗ x n − 2 t + . . . + C n n ∗ t n − 1 =\lim_{t\rightarrow 0}(C_n^1*x^{n-1}+C_n^2*x^{n-2}t+...+C_n^n*t^{n-1} =limt0(Cn1xn1+Cn2xn2t+...+Cnntn1)
= n ∗ x n − 1 =n*x^{n-1} =nxn1

sin’(x)=cosx

x + t − x 2 \frac{x+t-x}{2} 2x+tx
预备知识:
s i n a + s i n b = s i n ( a + b 2 + a − b 2 ) + s i n ( a + b 2 − a − b 2 ) sina+sinb=sin(\frac{a+b}{2}+\frac{a-b}{2})+sin(\frac{a+b}{2}-\frac{a-b}{2}) sina+sinb=sin(2a+b+2ab)+sin(2a+b2ab)
= s i n ( a + b 2 ) ∗ c o s ( a − b 2 ) + c o s ( a + b 2 ) ∗ s i n ( a − b 2 ) + s i n ( a + b 2 ) ∗ c o s ( a − b 2 ) − c o s ( a + b 2 ) ∗ s i n ( a − b 2 ) =sin(\frac{a+b}{2})*cos(\frac{a-b}{2})+cos(\frac{a+b}{2})*sin(\frac{a-b}{2})+sin(\frac{a+b} {2})*cos(\frac{a-b}{2})-cos(\frac{a+b}{2})*sin(\frac{a-b}{2}) =sin(2a+b)cos(2ab)+cos(2a+b)sin(2ab)+sin(2a+b)cos(2ab)cos(2a+b)sin(2ab)
= 2 s i n ( a + b 2 ) ∗ c o s ( a − b 2 ) =2sin(\frac{a+b}{2})*cos(\frac{a-b}{2}) =2sin(2a+b)cos(2ab)

求导推导:
s i n ′ x = lim ⁡ t → 0 s i n ( x + t ) − s i n ( x ) t = lim ⁡ t → 0 s i n ( x + t ) + s i n ( − x ) t sin'x=\lim_{t\rightarrow 0}\frac{sin(x+t)-sin(x)}{t} =\lim_{t\rightarrow 0}\frac{sin(x+t)+sin(-x)}{t} sinx=limt0tsin(x+t)sin(x)=limt0tsin(x+t)+sin(x)

= lim ⁡ t → 0 2 s i n ( x + t − x 2 ) ∗ c o s ( x + t + x 2 ) t = lim ⁡ t → 0 2 s i n t 2 c o s 2 x + t 2 t =\lim_{t\rightarrow 0}\frac{2sin(\frac{x+t-x}{2})*cos(\frac{x+t+x}{2})}{t} =\lim_{t\rightarrow 0}\frac{2sin\frac{t}{2}cos\frac{2x+t}{2}}{t} =limt0t2sin(2x+tx)cos(2x+t+x)=limt0t2sin2tcos22x+t

= lim ⁡ t → 0 t ∗ c o s ( x + t 2 ) t = c o s x =\lim_{t\rightarrow 0}\frac{t*cos(x+\frac{t}{2})}{t}=cosx =limt0ttcos(x+2t)=cosx

cos’(x)=-sinx

方法一: c o s ′ x = s i n ′ ( π 2 − x ) = c o s ( π 2 − x ) ∗ − 1 = − s i n x cos'x=sin'(\frac{\pi}{2}-x)=cos(\frac{\pi}{2}-x)*-1=-sinx cosx=sin(2πx)=cos(2πx)1=sinx
方法二: c o s ′ x = ( 1 − 2 s i n 2 x 2 ) ′ = − 4 ∗ s i n ( x 2 ) ∗ c o s ( x 2 ) ∗ 1 2 = − 2 ∗ s i n ( x 2 ) ∗ c o s ( x 2 ) = − s i n x cos'x=(1-2sin^2\frac{x}{2})'=-4*sin(\frac{x}{2})*cos(\frac{x}{2})*\frac{1}{2}=-2*sin(\frac{x} {2})*cos(\frac{x}{2})=-sinx cosx=(12sin22x)=4sin(2x)cos(2x)21=2sin(2x)cos(2x)=sinx

tan’x=1/cos^2x

t a n x = ( s i n x c o s x ) ′ = c o s 2 x + s i n 2 x cos ⁡ 2 x = 1 c o s 2 x = s e c 2 x tanx=(\frac{sinx}{cosx})'=\frac{cos^2x+sin^2x}{\cos^2x}=\frac{1}{cos^2x}=sec^2x tanx=(cosxsinx)=cos2xcos2x+sin2x=cos2x1=sec2x

ln’(1+x)=1/x+1

l n ′ ( 1 + x ) = lim ⁡ t → 0 l n ( 1 + x + t ) − l n ( 1 + x ) t = lim ⁡ t → 0 1 t l n ( 1 + x + t 1 + x ) ln'(1+x)=\lim_{t\rightarrow 0}\frac{ln(1+x+t)-ln(1+x)}{t}=\lim_{t\rightarrow 0}\frac{1}{t}ln(\frac{1+x+t}{1+x}) ln(1+x)=limt0tln(1+x+t)ln(1+x)=limt0t1ln(1+x1+x+t)
= lim ⁡ t → 0 l n ( 1 + t 1 + x ) 1 + x t ∗ 1 1 + x = l n e 1 1 + x = 1 1 + x =\lim_{t\rightarrow 0}ln(1+\frac{t}{1+x})^{\frac{1+x}{t}*\frac{1}{1+x}}=lne^{\frac{1}{1+x}}=\frac{1}{1+x} =limt0ln(1+1+xt)t1+x1+x1=lne1+x1=1+x1

(e^x)'= e^x

( e x ) ′ = lim ⁡ t → 0 e x + t − e x t = lim ⁡ t → 0 e x ( e t − 1 ) t = e x (e^x)'=\lim_{t\rightarrow 0}\frac{e^{x+t}-e^x}{t}=\lim_{t\rightarrow 0}\frac{e^x(e^t-1)}{t}=e^x (ex)=t0limtex+tex=t0limtex(et1)=ex

(a^x)'= a^xlna

( a x ) ′ = lim ⁡ t → 0 a x + t − a x t = lim ⁡ t → 0 a x ( a t − 1 ) t = lim ⁡ t → 0 a x l n a ∗ t t = a x l n a (a^x)'=\lim_{t\rightarrow 0}\frac{a^{x+t}-a^x}{t}=\lim_{t\rightarrow 0}\frac{a^x(a^t-1)}{t}=\lim_{t\rightarrow 0}\frac{a^xlna*t}{t}=a^xlna (ax)=t0limtax+tax=t0limtax(at1)=t0limtaxlnat=axlna

有关由两个重要极限推导常见等价无穷小以及常见导数公式的更多相关文章

  1. ruby - 什么是填充的 Base64 编码字符串以及如何在 ruby​​ 中生成它们? - 2

    我正在使用的第三方API的文档状态:"[O]urAPIonlyacceptspaddedBase64encodedstrings."什么是“填充的Base64编码字符串”以及如何在Ruby中生成它们。下面的代码是我第一次尝试创建转换为Base64的JSON格式数据。xa=Base64.encode64(a.to_json) 最佳答案 他们说的padding其实就是Base64本身的一部分。它是末尾的“=”和“==”。Base64将3个字节的数据包编码为4个编码字符。所以如果你的输入数据有长度n和n%3=1=>"=="末尾用于填充n%

  2. ruby-on-rails - 如何在 ruby​​ 中使用两个参数异步运行 exe? - 2

    exe应该在我打开页面时运行。异步进程需要运行。有什么方法可以在ruby​​中使用两个参数异步运行exe吗?我已经尝试过ruby​​命令-system()、exec()但它正在等待过程完成。我需要用参数启动exe,无需等待进程完成是否有任何ruby​​gems会支持我的问题? 最佳答案 您可以使用Process.spawn和Process.wait2:pid=Process.spawn'your.exe','--option'#Later...pid,status=Process.wait2pid您的程序将作为解释器的子进程执行。除

  3. ruby - 这两个 Ruby 类初始化定义有什么区别? - 2

    我正在阅读一本关于Ruby的书,作者在编写类初始化定义时使用的形式与他在本书前几节中使用的形式略有不同。它看起来像这样:classTicketattr_accessor:venue,:datedefinitialize(venue,date)self.venue=venueself.date=dateendend在本书的前几节中,它的定义如下:classTicketattr_accessor:venue,:datedefinitialize(venue,date)@venue=venue@date=dateendend在第一个示例中使用setter方法与在第二个示例中使用实例变量之间是

  4. 【高数】用拉格朗日中值定理解决极限问题 - 2

    首先回顾一下拉格朗日定理的内容:函数f(x)是在闭区间[a,b]上连续、开区间(a,b)上可导的函数,那么至少存在一个,使得:通过这个表达式我们可以知道,f(x)是函数的主体,a和b可以看作是主体函数f(x)中所取的两个值。那么可以有,  也就意味着我们可以用来替换 这种替换可以用在求某些多项式差的极限中。方法: 外层函数f(x)是一致的,并且h(x)和g(x)是等价无穷小。此时,利用拉格朗日定理,将原式替换为 ,再进行求解,往往会省去复合函数求极限的很多麻烦。使用要注意:1.要先找到主体函数f(x),即外层函数必须相同。2.f(x)找到后,复合部分是等价无穷小。3.要满足作差的形式。如果是加

  5. 【鸿蒙应用开发系列】- 获取系统设备信息以及版本API兼容调用方式 - 2

    在应用开发中,有时候我们需要获取系统的设备信息,用于数据上报和行为分析。那在鸿蒙系统中,我们应该怎么去获取设备的系统信息呢,比如说获取手机的系统版本号、手机的制造商、手机型号等数据。1、获取方式这里分为两种情况,一种是设备信息的获取,一种是系统信息的获取。1.1、获取设备信息获取设备信息,鸿蒙的SDK包为我们提供了DeviceInfo类,通过该类的一些静态方法,可以获取设备信息,DeviceInfo类的包路径为:ohos.system.DeviceInfo.具体的方法如下:ModifierandTypeMethodDescriptionstatic StringgetAbiList​()Obt

  6. git使用常见问题(提交代码,合并冲突) - 2

    文章目录git常用命令(简介,详细参数往下看)Git提交代码步骤gitpullgitstatusgitaddgitcommitgitpushgit代码冲突合并问题方法一:放弃本地代码方法二:合并代码常用命令以及详细参数gitadd将文件添加到仓库:gitdiff比较文件异同gitlog查看历史记录gitreset代码回滚版本库相关操作远程仓库相关操作分支相关操作创建分支查看分支:gitbranch合并分支:gitmerge删除分支:gitbranch-ddev查看分支合并图:gitlog–graph–pretty=oneline–abbrev-commit撤消某次提交git用户名密码相关配置g

  7. 阿里云国际版免费试用:如何注册以及注意事项 - 2

    作为新的阿里云用户,您可以50免费试用多种优惠,价值高达1,700美元(或8,500美元)。这将让您了解和体验阿里云平台上提供的一系列产品和服务。如果您以个人身份注册免费试用,您将获得价值1,700美元的优惠。但是,如果您是注册公司,您可以选择企业免费试用,提交基本信息通过企业实名注册验证,即可开始价值$8,500的免费试用!本教程介绍了如何设置您的帐户并使用您的免费试用版。​关于免费试用在我们开始此试用之前,您还必须遵守以下条款和条件才能访问您的免费试用:只有在一年内创建的账户才有资格获得阿里云免费试用。通过此免费试用优惠,用户可以免费试用免费试用活动页面上列出的每种产品一次。如果您有多个帐

  8. ruby - 具有两个参数的 block - 2

    我从用户Hirolau那里找到了这段代码:defsum_to_n?(a,n)a.combination(2).find{|x,y|x+y==n}enda=[1,2,3,4,5]sum_to_n?(a,9)#=>[4,5]sum_to_n?(a,11)#=>nil我如何知道何时可以将两个参数发送到预定义方法(如find)?我不清楚,因为有时它不起作用。这是重新定义的东西吗? 最佳答案 如果您查看Enumerable#find的文档,您会发现它只接受一个block参数。您可以将它发送两次的原因是因为Ruby可以方便地让您根据它的“并行赋

  9. ruby - 将对象设置为 nil 是否很常见? - 2

    我正在构建一个应用程序,想知道是否将未使用的对象设置为nil是生产级编码中的常见做法。我知道这只是垃圾收集器的提示,并不总是处理对象。 最佳答案 根据这个thread如果您使用完一个成员对象,将其设置为nil将引发被引用对象被垃圾回收。如果它是局部变量,方法exit将做同样的事情。也就是说,如果您要求将成员显式设置为nil,我会质疑您的设计。 关于ruby-将对象设置为nil是否很常见?,我们在StackOverflow上找到一个类似的问题: https://

  10. ruby - 变量赋值后的 if 语句 - 有多常见? - 2

    我最近与一位同事讨论了以下Ruby语法:value=ifa==0"foo"elsifa>42"bar"else"fizz"end我个人并没有看到太多这种逻辑,但我的同事指出,这实际上是一种相当普遍的Rubyism。我试着用谷歌搜索这个主题,但没有找到任何文章、页面或SO问题来讨论它,这让我相信这可能是一种非常实际的技术。然而,另一位同事发现语法令人困惑,而是将上面的逻辑写成这样:ifa==0value="foo"elsifa>42value="bar"elsevalue="fizz"end缺点是value=的重复声明和隐式elsenil的丢失,如果我们想使用它的话。这也感觉它与Ruby

随机推荐