数值分析(四) Hermite(埃尔米特)插值法及matlab代码

news2024/12/23 22:56:57

目录

前言

  本篇为插值法专栏第四篇内容讲述,此章主要讲述 Hermite(埃尔米特)插值法及matlab代码,其中也给出详细的例子让大家更好的理解Hermite插值法
提示 之前已经介绍牛顿插值法三次样条插值,如果没看过前两篇的可以点击以下链接阅读

  1. 数值分析(一)牛顿插值法
  2. 数值分析(二)三次样条插值法
  3. 数值分析(二续) 三次样条插值二类边界完整matlab代码

一、Hermite插值

  在许多实际应用中,不仅要求函数值相等,而且要求若干阶导数也相等。

1. Hermite定理

  定义:满足函数值相等且导数也相等的插值方法 f ( x ) ≈ φ ( x ) f(x) \approx \varphi (x) f(x)φ(x) φ ( x i ) = f ( x i ) ( i = 0 , 1 , … , n ) \varphi ({x_i}) = f({x_i}) (i=0,1,\ldots ,n) φ(xi)=f(xi)(i=0,1,,n) φ ′ ( x i ) = f ′ ( x i ) \varphi '({x_i}) = f'({x_i}) φ(xi)=f(xi) φ ( 2 ) ( x i ) = f ( 2 ) ( x i ) \varphi ^{(2)} ({x_i}) = f ^{(2)} ({x_i}) φ(2)(xi)=f(2)(xi) ⋮ \vdots φ ( m ) ( x i ) = f ( m ) ( x i ) \varphi ^{(m)} ({x_i}) = f ^{(m)} ({x_i}) φ(m)(xi)=f(m)(xi)

定理:设 f ( x ) ∈ C n [ a , b ] , x 0 , . . . , x n f(x) \in {C^n}[a,b],{x_0},...,{x_n} f(x)Cn[a,b],x0,...,xn [ a , b ] [a,b] [a,b] 上的互异节点,则 f [ x 0 , . . . , x n ] f[{x_0},... ,{x_n}] f[x0,...,xn] 是其变量的连续函数

2. 重节点差商

  注意: 差商知识不清楚的话可以看之前这篇 数值分析(一)牛顿插值法 中有对差商详细的讲解
f [ x 0 , x 0 ] = lim ⁡ x 1 → x 0 f [ x 0 , x 1 ] = f ( x 1 ) − f ( x 0 ) x 1 − x 0 = f ′ ( x 0 ) f[{x_0},{x_0}] = \mathop {\lim }\limits_{{x_1} \to {x_0}} f[{x_0},{x_1}] = \frac{{f({x_1}) - f({x_0})}}{{{x_1} - {x_0}}} = f'({x_0}) f[x0,x0]=x1x0limf[x0,x1]=x1x0f(x1)f(x0)=f(x0)
f [ x 0 , x 0 , x 0 ] = lim ⁡ x 1 → x 0 x 2 → x 0 f [ x 0 , x 1 , x 2 ] = 1 2 ! f ′ ′ ( x 0 ) f[{x_0},{x_0},{x_0}] = \mathop{\lim }\limits_{{x_1} \to {x_0}\\{{x_2} \to {x_0}}}f[{x_0},{x_1},{x_2}] = \frac{1}{{2!}}f''({x_0}) f[x0,x0,x0]=x1x0x2x0limf[x0,x1,x2]=2!1f′′(x0)
一般 n n n 阶重节点差商定义为:
f [ x 0 , x 0 , ⋯   , x 0 ] = lim ⁡ x i → x 0 f [ x 0 , x 1 , ⋯   , x n ] = 1 n ! f ( n ) ( x 0 ) f[{x_0},{x_0},\cdots,{x_0}] = \mathop{\lim }\limits_{{x_i} \to {x_0}}f[{x_0},{x_1},\cdots,{x_n}] = \frac{1}{{n!}}f^{(n)}({x_0}) f[x0,x0,,x0]=xix0limf[x0,x1,,xn]=n!1f(n)(x0)

3. 重节点Newton插值

  在Newton插值公式中,令 x i → x 0 , i = 1 , ⋯   , n x_i \to x_0, i = 1, \cdots, n xix0,i=1,,n,则 N n ( x ) = f ( x 0 ) + f [ x 0 , x 1 ] ( x − x 0 ) + ⋯ + f [ x 0 , x 1 , ⋯   , x n ] ∏ i = 1 n − 1 ( x − x i ) = f ( x 0 ) + f ′ ( x 0 ) ( x − x 0 ) + ⋯ + f ( n ) ( x 0 ) n ! ( x − x 0 ) n N_n(x) = f(x_0)+f[x_0, x_1](x - x_0)+ \cdots + f[x_0, x_1, \cdots, x_n]\prod_{i=1 }^{n-1} (x-x_i) \\ = f(x_0) + f'(x_0)(x-x_0)+ \cdots + \frac{f^{(n)}(x_0)}{n!}(x-x_0)^n Nn(x)=f(x0)+f[x0,x1](xx0)++f[x0,x1,,xn]i=1n1(xxi)=f(x0)+f(x0)(xx0)++n!f(n)(x0)(xx0)n

担心有些同学看不懂推导,解释一下如何转化为第二个等式(即,Taylor 插值多项式):

将1.1中讲述的重节点差商 带入Newton插值公式中: lim ⁡ x i → x 0 f [ x 0 , x 1 , ⋯   , x n ] = 1 n ! f ( n ) ( x 0 ) \mathop{\lim }\limits_{{x_i} \to {x_0}}f[{x_0},{x_1},\cdots,{x_n}]=\frac{1}{{n!}}f^{(n)}({x_0}) xix0limf[x0,x1,,xn]=n!1f(n)(x0)所有的 x i → x 0 x_i \to x_0 xix0,所以 ∏ i = 1 n − 1 ( x − x i ) \prod_{i=1 }^{n-1} (x-x_i) i=1n1(xxi) 就变成了 ( x − x 0 ) n (x-x_0)^n (xx0)n

插值余项 R n ( x ) = f ( n + 1 ) ( ξ ) ( n + 1 ) ! ( x − x 0 ) n + 1 R_n(x) = \frac{f^{(n+1)}(\xi)}{(n+1)!}(x-x_0)^{n+1} Rn(x)=(n+1)!f(n+1)(ξ)(xx0)n+1

4. Hermite 插值公式

  一般来说,给定 m + 1 m+1 m+1 个插值条件,就可以构造出一个 m m m 次Hermite 插值多项式,接下来介绍两个典型的Hermite插值:三点三次 Hermite插值 和 两点三次 Hermite 插值

4.1 三点三次 Hermite插值

  插值节点 x 0 , x 1 , x 2 x_0,x_1, x_2 x0x1x2
  插值条件 P ( x i ) = f ( x i ) , i = 0 , 1 , 2 , P ′ ( x 1 ) = f ′ ( x 1 ) P(x_i) = f(x_i),i=0,1,2,P'(x_1) = f'(x_1) P(xi)=f(xi)i=0,1,2P(x1)=f(x1)

  设: P ( x ) = f ( x 0 ) + f [ x 0 , x 1 ] ( x − x 0 ) + f [ x 0 , x 1 , x 2 ] ( x − x 0 ) ( x − x 1 ) + A ( x − x 0 ) ( x − x 1 ) ( x − x 2 ) P(x) = f(x_0) + f[x_0,x_1](x-x_0)+f[x_0,x_1,x_2](x-x_0)(x-x_1)+A(x-x_0)(x-x_1)(x-x_2) P(x)=f(x0)+f[x0,x1](xx0)+f[x0,x1,x2](xx0)(xx1)+A(xx0)(xx1)(xx2)
P ′ ( x 1 ) = f ′ ( x 1 ) P'(x_1) = f'(x_1) P(x1)=f(x1)代入可得 A = f ′ ( x 1 ) − f [ x 0 , x 1 ] − f [ x 0 , x 1 , x 2 ] ( x 1 − x 0 ) ( x 1 − x 0 ) ( x 1 − x 2 ) A = \frac{f'(x_1)-f[x_0,x_1] - f[x_0,x_1,x_2](x_1-x_0)}{(x_1-x_0)(x_1-x_2)} A=(x1x0)(x1x2)f(x1)f[x0,x1]f[x0,x1,x2](x1x0)
由于 x 0 , x 1 , x 2 x_0,x_1,x_2 x0,x1,x2 R ( x ) R(x) R(x)的零点,且 x 1 x_1 x1是二重零点,故可设,余项公式 R ( x ) = f ( x ) − P ( x ) = k ( x ) ( x − x 0 ) ( x − x 1 ) 2 ( x − x 2 ) R(x) = f(x) - P(x) = k(x)(x-x_0)(x-x_1)^2(x-x_2) R(x)=f(x)P(x)=k(x)(xx0)(xx1)2(xx2)Lagrange 插值余项公式的推导过程类似,可得
R ( x ) = f ( 4 ) ( ξ x ) 4 ! ( x − x 0 ) ( x − x 1 ) 2 ( x − x 2 ) R(x) = \frac{f^{(4)}(\xi_x)}{4!}(x-x_0)(x-x_1)^2(x-x_2) R(x)=4!f(4)(ξx)(xx0)(xx1)2(xx2)
其中 ξ x \xi_x ξx 位于由 x 0 , x 1 , x 2 x_0, x_1, x_2 x0,x1,x2 x x x所界定的区间内

4.2 两点三次 Hermite插值

  插值节点 x 0 , x 1 x_0,x_1 x0x1
  插值条件 P ( x i ) = f ( x i ) = y i , P ′ ( x i ) = f ′ ( x i ) = m i , i = 0 , 1 P(x_i) = f(x_i)=y_i,P'(x_i) = f'(x_i)=m_i,i=0,1 P(xi)=f(xi)=yiP(xi)=f(xi)=mii=0,1

  模仿Lagrange 多项式的思想,设
H 3 ( x ) = y 0 α 0 ( x ) + y 1 α 1 ( x ) + m 0 β 0 ( x ) + m 1 β 1 ( x ) H_3(x) = y_0\alpha_0(x)+y_1\alpha_1(x)+m_0\beta_0(x)+m_1\beta_1(x) H3(x)=y0α0(x)+y1α1(x)+m0β0(x)+m1β1(x)其中 α 0 ( x ) , α 1 ( x ) , β 0 ( x ) , β 1 ( x ) \alpha_0(x), \alpha_1(x), \beta_0(x), \beta_1(x) α0(x),α1(x),β0(x),β1(x)均为3次多项式,且满足 α j ( x i ) = δ i j , α j ′ ( x i ) = 0 , β j ( x i ) = 0 , β j ′ ( x i ) = δ j i ( i , j = 0 , 1 ) \alpha_j(x_i) = \delta_{ij}, \alpha'_j(x_i)=0,\\ \beta_j(x_i)=0, \beta'_j(x_i) = \delta_{ji} \\ (i, j =0, 1) αj(xi)=δij,αj(xi)=0,βj(xi)=0,βj(xi)=δji(i,j=0,1)

上述中的 δ i j \delta_{ij} δij表达式在Lagrange多项式中提到过,怕有些同学忘了这里帮忙回顾一下
l k ( x i ) = δ k i = { 1 ( i = k ) 0 ( i ≠ k ) l_k(x_i) = \delta_{ki} = \left \{\begin{matrix}1&(i=k) \\ 0&(i \ne k)\end{matrix}\right. lk(xi)=δki={10(i=k)(i=k)

将插值条件代入立即可得 α 0 ( x ) \alpha_0(x) α0(x)求解过程

  Step 1:根据前面可以得到: α 0 ( x 0 ) = 1 , α 0 ′ ( x 0 ) = 0 , α 0 ( x 1 ) = 0 , α 0 ′ ( x 1 ) = 0 \alpha_0(x_0) = 1, \alpha'_0(x_0)=0, \alpha_0(x_1) = 0, \alpha'_0(x_1)=0 α0(x0)=1,α0(x0)=0,α0(x1)=0,α0(x1)=0

  Step 2:由上面提到过 α 0 ( x ) , α 1 ( x ) , β 0 ( x ) , β 1 ( x ) \alpha_0(x), \alpha_1(x), \beta_0(x), \beta_1(x) α0(x),α1(x),β0(x),β1(x)都是3次多项式, α 0 ( x 1 ) = 0 , α 0 ′ ( x 1 ) = 0 \alpha_0(x_1) = 0, \alpha'_0(x_1)=0 α0(x1)=0,α0(x1)=0,根据以上条件可以构造函数为: α 0 ( x ) = ( a x + b ) ( x − x 1 x 0 − x 1 ) 2 \alpha_0(x) = (ax + b)(\frac{x-x_1}{x_0-x_1})^2 α0(x)=(ax+b)(x0x1xx1)2
  Step 3:将 α 0 ( x 0 ) = 1 , α 0 ′ ( x 0 ) = 0 \alpha_0(x_0) = 1, \alpha'_0(x_0) = 0 α0(x0)=1,α0(x0)=0 代入上式,可以求解得到 a = − 2 x 0 − x 1 , b = 3 x 0 − x 1 x 0 − x 1 = 1 + 2 x 0 x 0 − x 1 a = -\frac{2}{x_0-x_1}, b = \frac{3x_0-x_1}{x_0-x_1} = 1+ \frac{2x_0}{x_0-x_1} a=x0x12,b=x0x13x0x1=1+x0x12x0
  Step 4:将求得出来的 a , b a, b a,b 代入到构造的函数 α 0 ( x ) \alpha_0(x) α0(x) 中,即得: α 0 ( x ) = ( 1 + 2 x − x 0 x 1 − x 0 ) ( x − x 1 x 0 − x 1 ) 2 \alpha_0(x) = (1+2\frac{x-x_0}{x_1-x_0})(\frac{x-x_1}{x_0-x_1})^2 α0(x)=(1+2x1x0xx0)(x0x1xx1)2

注意:我在推公式的过程感觉是2前面是个减号(很容易出现自己推导和给出的不一致),我仔细一看发现是这么一回事,那么我来把省略的一些步骤给他详细写一下
a x + b = − 2 x x 0 − x 1 + 1 + 2 x 0 x 0 − x 1 = 1 − 2 x − x 0 x 0 − x 1 = 1 + 2 x − x 0 x 1 − x 0 ax+b = -\frac{2x}{x_0-x_1}+1+ \frac{2x_0}{x_0-x_1} = 1 - 2\frac{x-x_0}{x_0-x_1} = 1 + 2\frac{x-x_0}{x_1-x_0} ax+b=x0x12x+1+x0x12x0=12x0x1xx0=1+2x1x0xx0才发现将-放到了分母

同理: α 1 ( x ) = ( 1 + 2 x − x 1 x 0 − x 1 ) ( x − x 0 x 1 − x 0 ) 2 \alpha_1(x) = (1+2\frac{x-x_1}{x_0-x_1})(\frac{x-x_0}{x_1-x_0})^2 α1(x)=(1+2x0x1xx1)(x1x0xx0)2

类似得可以得到: β 0 ( x ) = ( x − x 0 ) ( x − x 1 x 0 − x 1 ) 2 \beta_0(x) = (x-x_0)(\frac{x-x_1}{x_0-x_1})^2 β0(x)=(xx0)(x0x1xx1)2 β 1 ( x ) = ( x − x 1 ) ( x − x 0 x 1 − x 0 ) 2 \beta_1(x) = (x-x_1)(\frac{x-x_0}{x_1-x_0})^2 β1(x)=(xx1)(x1x0xx0)2

满足插值条件 P ( x 0 ) = f ( x 0 ) = y 0 , P ′ ( x 0 ) = f ′ ( x 0 ) = m 0 P ( x 1 ) = f ( x 1 ) = y 1 , P ′ ( x 1 ) = f ′ ( x 1 ) = m 1 P(x_0) = f(x_0)=y_0,P'(x_0) = f'(x_0)=m_0 \\ P(x_1) = f(x_1)=y_1,P'(x_1) = f'(x_1)=m_1 P(x0)=f(x0)=y0P(x0)=f(x0)=m0P(x1)=f(x1)=y1P(x1)=f(x1)=m1 的三次Hermite插值多项式为
H 3 ( x ) = y 0 ( 1 + 2 x − x 0 x 1 − x 0 ) ( x − x 1 x 0 − x 1 ) 2 + y 1 ( 1 + 2 x − x 1 x 0 − x 1 ) ( x − x 0 x 1 − x 0 ) 2 + m 0 ( x − x 0 ) ( x − x 1 x 0 − x 1 ) 2 + m 1 ( x − x 1 ) ( x − x 0 x 1 − x 0 ) 2 H_3(x) = y_0(1+2\frac{x-x_0}{x_1-x_0})(\frac{x-x_1}{x_0-x_1})^2+y_1 (1+2\frac{x-x_1}{x_0-x_1})(\frac{x-x_0}{x_1-x_0})^2 \\ +m_0(x-x_0)(\frac{x-x_1}{x_0-x_1})^2+m_1(x-x_1)(\frac{x-x_0}{x_1-x_0})^2 H3(x)=y0(1+2x1x0xx0)(x0x1xx1)2+y1(1+2x0x1xx1)(x1x0xx0)2+m0(xx0)(x0x1xx1)2+m1(xx1)(x1x0xx0)2

余项 R 3 ( x ) = f ( 4 ) ( ξ x ) 4 ! ( x − x 0 ) 2 ( x − x 1 ) 2 R_3(x) = \frac{f^{(4)}(\xi_x)}{4!}(x-x_0)^2(x-x_1)^2 R3(x)=4!f(4)(ξx)(xx0)2(xx1)2其中 ξ x ∈ ( x 0 , x 1 ) \xi_x \in (x_0, x_1) ξx(x0,x1)

4.3 2 n + 1 2n+1 2n+1次Hermite插值多项式

  由上面 4.2 中给出了 α 0 ( x ) , α 1 ( x ) , β 0 ( x ) , β 1 ( x ) \alpha_0(x), \alpha_1(x), \beta_0(x), \beta_1(x) α0(x),α1(x),β0(x),β1(x) 的表达式,那么依次类推推导出 2 n + 1 2n+1 2n+1 次Hermite插值多项式,且条件为 H ( x i ) = f ( x i ) , H ′ ( x i ) = f ′ ( x i ) , ( i = 0 , 1 , ⋯   , n ) H(x_i) = f(x_i),H'(x_i) = f'(x_i),(i=0,1,\cdots,n) H(xi)=f(xi)H(xi)=f(xi)(i=0,1,,n)
  求解: α j ( x ) \alpha_j(x) αj(x) β j ( x ) \beta_j(x) βj(x) ( j = 0 , 1 , ⋯   , n ) (j = 0,1,\cdots,n) (j=0,1,,n) α j ( x ) = [ 1 − 2 ( x − x j ) ∑ k = 0 k ≠ j n 1 x j − x k ] l j 2 ( x ) \alpha_j(x) = [1-2(x-x_j)\sum_{\begin{matrix} k = 0\\ k\ne j \end{matrix}}^{n}\frac{1}{x_j-x_k}]l_j^2(x) αj(x)=[12(xxj)k=0k=jnxjxk1]lj2(x)
β j ( x ) = ( x − x j ) l j 2 ( x ) \beta_j(x) = (x-x_j)l_j^2(x) βj(x)=(xxj)lj2(x)
H 2 n + 1 ( x ) = ∑ j = 0 n [ 1 − 2 ( x − x j ) ∑ k = 0 k ≠ j n 1 x j − x k ] l j 2 ( x ) f ( x j ) + ∑ j = 0 n ( x − x j ) l j 2 ( x ) f ′ ( x j ) H_{2n+1}(x) = \sum_{j=0}^{n}[1-2(x-x_j)\sum_{\begin{matrix} k = 0\\ k\ne j \end{matrix}}^{n}\frac{1}{x_j-x_k}]l_j^2(x)f(x_j)+\sum_{j=0}^{n}(x-x_j)l_j^2(x)f'(x_j) H2n+1(x)=j=0n[12(xxj)k=0k=jnxjxk1]lj2(x)f(xj)+j=0n(xxj)lj2(x)f(xj)

上述中的 l j ( x ) l_j(x) lj(x) 在 Lagrange 多项式中提到过不太清楚得同学可以去回顾一下

二、Hermite插值算法及matlab代码

Matlab 版本号 2022b

1. 2 n + 1 2n+1 2n+1次Hermite插值matlab代码实现

function y=Hermitezi(X,Y,Y1,x)
% 2n+1次Hermite插值函数
%   X为已知数据点的x坐标
%   Y为已知数据点的y坐标
%   Y1为数据点y值导数
%   x0为插值点的x坐标
if(length(X) == length(Y))
    if(length(X) == length(Y1))
        n=length(X);
    else
        disp('y和y的导数维数不相等');
        renturn;
    end
  else
    disp('x和y的维数不相等');
    return;
end
%以上为输入判断和确定“n”的值
m=length(x);
for t=1:m
    z=x(t);s=0.0;
  for i=1:n
    h=1.0;
    a=0.0;
    for j=1:n
        if(j~= i)
            h=h*(z-X(j))^2/((X(i)-X(j))^2);%求得值为(li(x))^2
            a=a+1/(X(i)-X(j));   %求得ai(x)表达式之中的累加部分
        end
    end
   s=s+h*((X(i)-z)*(2*a*Y(i)-Y1(i))+Y(i));
  end
y(t)=s;
end
end

2. 例题

在这里插入图片描述
主函数:

x=[0,1];
y=[1,2];
y1=[0.5,0.5];
y=Hermitezi(x,y,y1,0.724)

结果:
在这里插入图片描述
在这里插入图片描述

三、总结

  这篇blog我推迟了1年才开始写,本应该很早就把这篇写完,由于比较忙遇到一些事情,现在重新得拾起开始撰写分享给大家,也非常感谢大家对我的关注,今年的计划也是将这个插值法专栏更新完,之后会再转换到另一个专栏的撰写。下方有专栏链接,可以订阅一下防止找不到。

四、插值法专栏

专栏链接:插值法专栏,如果对你有帮助的话可以点个赞,点个订阅,我将完善此专栏

  1. 数值分析(一) 牛顿插值法及matlab代码
  2. 数值分析(二) 三次样条插值法matlab程序
  3. 数值分析(二续) 三次样条插值二类边界完整matlab代码

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/443104.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

2.1寸黑白TFT电子标签【基站版】

ESL_TFT_2.1_V4 产品参数 产品型号 ESL_TFT_2.1_V4 尺寸(mm) 69.5*35*14.8mm 显示技术 TFT 反射式 显示区域(mm) 23.71(H) * 48.55(V) 分辨率(像素) 250*122 像素尺寸(mm) 0.194*0.194 显示颜色 黑/白 视觉角度 45/45/60/60 工作温度 -20-70℃ 产品重量 …

Mysql第一章 字符集

字符集修改 一 在mysql5.7中输入汉字报错二 修改针对修改后创建的数据库,过去创建的数据库不算三 想要单独修改四 基本的mysql命令五 各级别的字符集 一 在mysql5.7中输入汉字报错 # 在5,7中,默认字符集为latin1,开发人员在数据库设计时,需要…

Python用curve_fit进行多元拟合

文章目录 入门参数多元拟合 入门 scipy.optimize中,curve_fit函数可调用非线性最小二乘法进行函数拟合,例如,现在有一个高斯函数想要被拟合 y a exp ⁡ − ( x − b c ) 2 y a\exp-(\frac{x-b}{c})^2 yaexp−(cx−b​)2 则调用方法如下 …

Zookeeper源码分析——Follower和Leader状态同步源码

Follower和Leader状态同步源码 当选举结束后,每个节点都需要根据自己的角色更新自己的状态。选举出的Leader更新自己状态为 Leader,其他节点更新自己状态为 Follower Leader更新状态入口: leader.lead() Follower更新状态入口: f…

VUE3 学习笔记(九)使用富文本编辑器tinymce最新版

目录 1、安装相关依赖 2、下载中文包 3. 引入皮肤和汉化包 4. 封装组件:在src/components下新建TEditor.vue,并写入以下代码 5. 注册及使用组件 6. Tinymce 版本(截至2023-04-18) 1、安装相关依赖 npm install tinymce -S npm install ti…

python+vue小型公司人事企业员工培训报名管理系统

该系统主要实现了公告信息管理、个人考勤管理、培训信息管理、员工管理、员工工资管理等主要模块功能。具体功能如下所示: 1. 公告信息管理:查看公告标题、公告类型、公告图片、发布日期等一系列信息。 2. 个人考勤管理:查看考勤名称、员工工…

Springboot整合Quartz定时任务框架(Spring解决方案)

目录 前言 介绍 集成 POM依赖 基础配置 1、配置数据源 2、配置JOB实例与触发器 3、配置SchedulerJobFactory 4、配置SchedulerFactoryBean 业务集成 job编写 接口编写 接口实现 前言 系统现在有定时任务触发业务场景的需求,并且频率及次数不固定&…

【案例教程】FVCOM流域、海洋水环境数值模拟方法及实践技术应用

近年来,随着人类活动产生营养负荷的增加,流域、海洋生态系统面临严重威胁。近岸水质数值模是近岸水环境保护的有效工具,已经应用于近岸水环境污染控制、水质规划管理中。FVCOM在近岸水环境模拟方面具有一定优势,如采用非结构化三角…

王道计组(23版)2_数据的表示和运算

1.数制和编码 十进制转换为二进制: 原码: [0]原0,0000 [-0]原1,0000 -1无法表示 补码: 按位取反,末位加1 [0.0000]补[-0.0000]补0.00000 反码: 按位取反 [0]反0,0000 [-0]反1,1111 移码: 与补码仅符号位…

从前端角度快速理解Transformer

从前端角度快速理解Transformer Transformer的三步曲从前端角度(SEO和TDK)理解TransformerSEO与TDK一个例子来理解 总结 声明:本文为原创,未经同意请勿转载或爬取,感谢配合😄 chatGPT今年年初的时候是非常火…

操作系统实验一 并发程序设计

1.实验目的 掌握Linux环境下,多进程之间并发程序设计方法,并通过程序的运行结果来验证分时系统和并发程序设计的优越性。 2.实验要求 熟悉Linux操作系统子进程创建方法以及任务执行时间测量方法 3.实验内容 在单进程(单用户、单任务&#xff…

【MYSQL索引失效的场景有哪些】

创建一张表:id为主键(primary key)name为普通建(index) 插入数据: 用主键索引查询: 用普通建索引查询 对于执行计划,参数有: possible_keys 字段表示可能用到的索引&am…

KMM初探与编译过程详解

本文字数:22817字 预计阅读时间:58分钟 简介 KMM, 即Kotlin Multiplatform Mobile,是由Kotlin发布的移动端跨平台框架。相比于其他跨平台框架,KMM是原生UI逻辑共享的理念,共享重复逻辑性的工作来提升开发效…

Maven配置国内源以及jar下载失败处理详解

目录 1,配置Idea的Maven xml文件不存在: xml文件存在: 2,重新下载jar包 3,注意事项总结 1,配置Idea的Maven 需要配置的项目有两个,一个是当前项目,一个是新项目: 打…

抖音账号矩阵搭建管理获客系统

抖音矩阵号管理系统是一款企业矩阵运营管理工具,能够有效地帮助企业管理多个矩阵账号,并实现批量管理。在短视频矩阵系统中,自动获客工具和智能AI的帮助下,一个人也能轻松地管理多个账号。 一、矩阵账号管理: 首先&a…

leetCode算法第三天

继续练习leetcode中关于字符串的算法题,越练越觉得自己编码思想还很欠缺,继续努力。 文章目录 有效的括号括号生成串联所有单词的子串最长有效括号 有效的括号 leetcode链接:https://leetcode.cn/problems/valid-parentheses/ 解题思路&…

SPI协议

SPI数据接口 SPI(Serial Peripheral Interface)串行外设接口的简称,它是一种同步全双工通信协议。有 3根或者 4根数据线组成,包括 CLK、SOMI、SIMO、STE: CLK为时钟线,由主机控制输出。 SOMI…

国产数字温度传感芯片M117 Pin to Pin替代PT100和PT1000

高精度数字温度传感芯片 - M117,可Pin to Pin替代PT100/PT1000,且具功能差异化优势,支持行业应用的定制化需求。高测温精度0.1℃,用户无需进行校准。芯片感温原理基于CMOS半导体PN节温度与带隙电压的特性关系,经过小信…

电脑开机进不了系统卡在加载界面怎么办?

电脑开机进不了系统卡在加载界面怎么办?有用户电脑弹出需要进行系统更新,不小心点到了系统更新的选项。因为自己不想进行系统更新,所以马上将电脑关机了。但是关机之后却发现系统一直卡在开机的界面中,无法进入桌面中了。那么这个…

如何在Anaconda下安装pytorch(conda安装和pip安装)

前言 文字说明 本文中标红的,代表的是我认为比较重要的。 版本说明 python环境配置:jupyter的base环境下的python是3.10版本。CUDA配置是:CUDA11.6。目前pytorch官网提示支持的版本是3.7-3.9 本文主要用来记录自己在安装pytorch中…