跳到主要内容

强迫振动:解 y' = sin(x) - y

一阶常微分方程 RK4 数值解

支持 sin cos tan exp log sqrt pow abs 与常量 pi、e,变量 x、y;乘法需显式写*,幂用^pow

常用方程示例库(点击一键填充):

共计算 101 个点终点 y(10) = 0.1475476y 范围:-0.70506123 ~ 0.75611968

解曲线 y(x)

0100.7561

数值采样表(均匀间隔,仅展示部分节点)

xy(x)
00
0.50.10418701
1.10.38524125
1.60.61533472
2.10.74525565
2.60.72333143
3.20.49034101
3.70.17149343
4.2-0.18315976
4.7-0.4892195
5.3-0.69082471
5.8-0.67354659
6.3-0.49060375
6.8-0.18708485
7.40.23038608
7.90.52265694
8.40.68705585
8.90.68329576
9.50.4610475
100.1475476

完整 101 个节点见下方 JSON。

求解数据(JSON)

展开查看
{
  "solver": "RK4 (四阶龙格-库塔)",
  "equation": "sin(x) - y",
  "initial": {
    "x0": 0,
    "y0": 0
  },
  "step_size": 0.1,
  "points_count": 101,
  "sampled_data": [
    {
      "x": 0,
      "y": 0
    },
    {
      "x": 0.1,
      "y": 0.004833402595362653
    },
    {
      "x": 0.2,
      "y": 0.01866687239702019
    },
    {
      "x": 0.30000000000000004,
      "y": 0.04050112529689927
    },
    {
      "x": 0.4,
      "y": 0.06933887707172459
    },
    {
      "x": 0.5,
      "y": 0.1041870102007397
    },
    {
      "x": 0.6,
      "y": 0.14405944110131758
    },
    {
      "x": 0.7,
      "y": 0.1879805885186381
    },
    {
      "x": 0.7999999999999999,
      "y": 0.23498934451901005
    },
    {
      "x": 0.8999999999999999,
      "y": 0.2841434505950138
    },
    {
      "x": 0.9999999999999999,
      "y": 0.3345241828447146
    },
    {
      "x": 1.0999999999999999,
      "y": 0.3852412520772813
    },
    {
      "x": 1.2,
      "y": 0.4354378270543786
    },
    {
      "x": 1.3,
      "y": 0.48429559192221705
    },
    {
      "x": 1.4000000000000001,
      "y": 0.5310397522355041
    },
    {
      "x": 1.5000000000000002,
      "y": 0.574943907825212
    },
    {
      "x": 1.6000000000000003,
      "y": 0.6153347151119957
    },
    {
      "x": 1.7000000000000004,
      "y": 0.6515962663030076
    },
    {
      "x": 1.8000000000000005,
      "y": 0.6831741182107876
    },
    {
      "x": 1.9000000000000006,
      "y": 0.7095789091706448
    },
    {
      "x": 2.0000000000000004,
      "y": 0.7303895086725365
    },
    {
      "x": 2.1000000000000005,
      "y": 0.7452556508238096
    },
    {
      "x": 2.2000000000000006,
      "y": 0.7539000095736795
    },
    {
      "x": 2.3000000000000007,
      "y": 0.7561196807074748
    },
    {
      "x": 2.400000000000001,
      "y": 0.7517870429027698
    },
    {
      "x": 2.500000000000001,
      "y": 0.7408499775713582
    },
    {
      "x": 2.600000000000001,
      "y": 0.7233314347286214
    },
    {
      "x": 2.700000000000001,
      "y": 0.6993283396712139
    },
    {
      "x": 2.800000000000001,
      "y": 0.6690098427398616
    },
    {
      "x": 2.9000000000000012,
      "y": 0.6326149218306448
    },
    {
      "x": 3.0000000000000013,
      "y": 0.5904493545298515
    },
    {
      "x": 3.1000000000000014,
      "y": 0.5428820837197357
    },
    {
      "x": 3.2000000000000015,
      "y": 0.49034100717237183
    },
    {
      "x": 3.3000000000000016,
      "y": 0.433308227955724
    },
    {
      "x": 3.4000000000000017,
      "y": 0.37231480836255026
    },
    {
      "x": 3.5000000000000018,
      "y": 0.30793507548501614
    },
    {
      "x": 3.600000000000002,
      "y": 0.24078053144633793
    },
    {
      "x": 3.700000000000002,
      "y": 0.17149342562066822
    },
    {
      "x": 3.800000000000002,
      "y": 0.10074004988430296
    },
    {
      "x": 3.900000000000002,
      "y": 0.029203821011398498
    },
    {
      "x": 4.000000000000002,
      "y": -0.04242178327191229
    },
    {
      "x": 4.100000000000001,
      "y": -0.11344036635106455
    },
    {
      "x": 4.200000000000001,
      "y": -0.18315976367553455
    },
    {
      "x": 4.300000000000001,
      "y": -0.25089913307976835
    },
    {
      "x": 4.4,
      "y": -0.31599591537428967
    },
    {
      "x": 4.5,
      "y": -0.37781259723878663
    },
    {
      "x": 4.6,
      "y": -0.4357432102739802
    },
    {
      "x": 4.699999999999999,
      "y": -0.48921950256926616
    },
    {
      "x": 4.799999999999999,
      "y": -0.5377167222921563
    },
    {
      "x": 4.899999999999999,
      "y": -0.5807589565707274
    },
    {
      "x": 4.999999999999998,
      "y": -0.6179239732828811
    },
    {
      "x": 5.099999999999998,
      "y": -0.6488475182418295
    },
    {
      "x": 5.1999999999999975,
      "y": -0.6732270256262181
    },
    {
      "x": 5.299999999999997,
      "y": -0.6908247052913115
    },
    {
      "x": 5.399999999999997,
      "y": -0.7014699767561191
    },
    {
      "x": 5.4999999999999964,
      "y": -0.7050612261280137
    },
    {
      "x": 5.599999999999996,
      "y": -0.7015668689360787
    },
    {
      "x": 5.699999999999996,
      "y": -0.6910257087295096
    },
    {
      "x": 5.799999999999995,
      "y": -0.6735465882885988
    },
    {
      "x": 5.899999999999995,
      "y": -0.6493073373228437
    },
    {
      "x": 5.999999999999995,
      "y": -0.6185530275229165
    },
    {
      "x": 6.099999999999994,
      "y": -0.5815935527203802
    },
    {
      "x": 6.199999999999994,
      "y": -0.538800558621986
    },
    {
      "x": 6.299999999999994,
      "y": -0.490603753056759
    },
    {
      "x": 6.399999999999993,
      "y": -0.437486633838942
    },
    {
      "x": 6.499999999999993,
      "y": -0.37998167714637
    },
    {
      "x": 6.5999999999999925,
      "y": -0.3186650346838584
    },
    {
      "x": 6.699999999999992,
      "y": -0.2541507927908325
    },
    {
      "x": 6.799999999999992,
      "y": -0.1870848510126802
    },
    {
      "x": 6.8999999999999915,
      "y": -0.1181384814424277
    },
    {
      "x": 6.999999999999991,
      "y": -0.04800163331534135
    },
    {
      "x": 7.099999999999991,
      "y": 0.022623950127936734
    },
    {
      "x": 7.19999999999999,
      "y": 0.09303173362952318
    },
    {
      "x": 7.29999999999999,
      "y": 0.1625174406960842
    },
    {
      "x": 7.39999999999999,
      "y": 0.23038608263827992
    },
    {
      "x": 7.499999999999989,
      "y": 0.2959588955573732
    },
    {
      "x": 7.599999999999989,
      "y": 0.3585801158957608
    },
    {
      "x": 7.699999999999989,
      "y": 0.41762352678797154
    },
    {
      "x": 7.799999999999988,
      "y": 0.47249870974489183
    },
    {
      "x": 7.899999999999988,
      "y": 0.5226569391537347
    },
    {
      "x": 7.999999999999988,
      "y": 0.5675966606501535
    },
    {
      "x": 8.099999999999987,
      "y": 0.6068684985812537
    },
    {
      "x": 8.199999999999987,
      "y": 0.6400797424875297
    },
    {
      "x": 8.299999999999986,
      "y": 0.6668982677409441
    },
    {
      "x": 8.399999999999986,
      "y": 0.6870558511334509
    },
    {
      "x": 8.499999999999986,
      "y": 0.7003508482587665
    },
    {
      "x": 8.599999999999985,
      "y": 0.7066502059096925
    },
    {
      "x": 8.699999999999985,
      "y": 0.7058907893600948
    },
    {
      "x": 8.799999999999985,
      "y": 0.6980800112483379
    },
    {
      "x": 8.899999999999984,
      "y": 0.6832957557591887
    },
    {
      "x": 8.999999999999984,
      "y": 0.6616855988441861
    },
    {
      "x": 9.099999999999984,
      "y": 0.6334653322558994
    },
    {
      "x": 9.199999999999983,
      "y": 0.5989168061290688
    },
    {
      "x": 9.299999999999983,
      "y": 0.558385111651843
    },
    {
      "x": 9.399999999999983,
      "y": 0.5122751319651686
    },
    {
      "x": 9.499999999999982,
      "y": 0.46104749574195975
    },
    {
      "x": 9.599999999999982,
      "y": 0.40521397386691643
    },
    {
      "x": 9.699999999999982,
      "y": 0.3453323652031305
    },
    {
      "x": 9.799999999999981,
      "y": 0.2820009225373229
    },
    {
      "x": 9.89999999999998,
      "y": 0.2158523743906908
    },
    {
      "x": 9.99999999999998,
      "y": 0.14754760242099757
    }
  ],
  "final_point": {
    "x": 9.99999999999998,
    "y": 0.14754760242099757
  }
}

所有计算均在浏览器本地完成,不会上传任何数据。

强迫振动:解 y' = sin(x) - y 数值解采样表

下表为采用四阶龙格-库塔法(RK4)在区间 [0, 10]、步长 0.1下计算的数值解(均匀采样 20 个节点)。完整数据可在上方工具中点击「复制 JSON」获取。

xy(x)
00
0.50.104187
1.10.385241
1.60.615335
2.10.745256
2.60.723331
3.20.490341
3.70.171493
4.2-0.18316
4.7-0.48922
5.3-0.690825
5.8-0.673547
6.3-0.490604
6.8-0.187085
7.40.230386
7.90.522657
8.40.687056
8.90.683296
9.50.461047
100.147548

常见问题

什么是微分方程初值问题?
给定一个方程 dy/dx = f(x, y) 和起点 (x₀, y₀),求 y 随 x 变化的函数。初值条件 y(x₀)=y₀ 唯一确定了数值解的路径。
RK4 是什么?精度如何?
四阶龙格-库塔法(Runge-Kutta),局部截断误差为 O(h⁵),是工程与科研中最常用的高精度数值积分方法,比欧拉法稳定且精确得多。
步长 h 应该怎么选?
步长越小精度越高,但采样点越多、计算越慢。推荐 h 在 0.01~0.1 之间;若步数超过 2000 本工具会提示优化。解变化剧烈时可适当减小 h。
为什么很多方程没有解析解?
只有少数特殊形式(可分离变量、线性、恰当方程等)能写出闭式解。多数非线性方程没有解析解,数值解(如 RK4)是唯一可行的途径,也能画出解曲线直观观察。