差分方程通解的求法

  1. 对任意一个差分方程式子全部移到左边,令右边为0

    1. 比如:an=an1+an2a_n = a_{n-1}+a_{n-2}转化为anan1an2=0a_n-a_{n-1}-a_{n-2} = 0
  2. ana_n的系数,也作为其特征方程系数,产看上一步转化的式子中a的下标nkn-k中的k最大是多少,然后根据,k向下递减,确认k是否出现在第一步的式子中可得特征方程

    a1xk+a2xk1+...+bk=0a_1x^k+a_2x^{k-1}+...+b_k = 0

    求解这个方程得到特征根k1,k2,...,knk_1,k_2,...,k_n

    则这个差分方程的通解为:

    c1(k1)n+c1(k1)n+....+c1(k1)n=0c_1(k_1)^n+c_1(k_1)^n+....+c_1(k_1)^n = 0

  3. 求解特解只需要将其提供的数据进行带入即可。

图的最大匹配和最小覆盖

匹配边:两条不相邻的边,即两条边的点集各不相同

最大匹配(边集):找到最大的边集使得这些边集尽可能多地包含点集

若能包含全部的点,则叫做完美匹配。

最小覆盖(点集):最大匹配的边集中,每一条边上的任意一点。

最大匹配数 == 最小覆盖数

微分方程的解析解和数值解

1
2
3
4
5
6
7
8
9
10
11
12
13
# 解析解
# 微分方程可以写多个
# Dy表示一阶导数,D2y表示二阶导数
y = dsolve('微分方程','初值','自变量')

# 数值解
# 先定义函数文件
function dy = weo(x,y)
微分方程1;
微分方程2;

命令:[x,y] = ode45('weo',[自变量下限,自变量h上限],初始值)
绘图:plot(x,y)

抛物线插值公式

f(x)=y0(xx1)(xx2)(x0x1)(x0x2)+y1(xx0)(xx2)(x1x0)(x1x2)+y2(xx0)(xx1)(x2x0)(x2x1)f(x)=y_0*\frac{(x-x_1)(x-x_2)}{(x_0-x_1)(x_0-x_2)}+y_1*\frac{(x-x_0)(x-x_2)}{(x_1-x_0)(x_1-x_2)}+y_2*\frac{(x-x_0)(x-x_1)}{(x_2-x_0)(x_2-x_1)}

数据点拟合的方法

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
# lsqnonlin指令
# 编写m脚本文件
# 如果有多个c函数a,b,c的话,那就给x传入向量,用x(1),x(2),x(3)表示
function f = wei(x)
x1 = [x轴的数据点];
y1 = [y轴的数据点];
f = 要拟合的方程
# 主程序
# 用户猜测每个系数的初始值
x0 = [1,2,3];
xishu = lsqnonlin('wei',x0)


polyfit指令:
函数要是线性的,即x所在部分必须为几个x的不同次方相加
x = [x的数据]
y = [y的数据]
# 这个2指的是式子的最高系数
xishu= ployfit(x,y,2)