习题2.8

习题2.8代码

import numpy as np
import pandas as pd
import sympy as sp
sp.init_printing(use_unicode=True)
import matplotlib.pyplot as plt
plt.rcParams['font.sans-serif']=['Times New Roman + SimSun + WFM Sans SC']
plt.rcParams['mathtext.fontset']='cm'
# Times New Roman + SimSun + WFM Sans SC
# simsum宋体, times new roman -*, simhei黑体, kaiti楷体,
# dengxian等线, fangsong仿宋, Microsoft Yahei微软雅黑
plt.rcParams['axes.unicode_minus']=False
plt.rcParams['figure.dpi'] = 200
# plt.rcParams['figure.figsize'] = [4, 3]
# plt.rcParams['font.size'] = 12
plt.rcParams['xtick.direction'] = 'in'
plt.rcParams['ytick.direction'] = 'in'
from scipy.optimize import root
def fx(x):
    ret = []
    ret.append(4*x[0] + x[1] - 1)
    for i in range(1, 999):
        ret.append(x[i-1] + 4*x[i] + x[i+1] - i - 1)
    ret.append(x[998] + 4*x[999] - 1000)
    return ret

root(fx, np.random.randn(1000))

A = 4*np.eye(1000) + np.eye(1000, k=-1) + np.eye(1000, k=1)
print(np.linalg.inv(A)@np.arange(1, 1001).reshape(1000, 1))

以下只展示部分解





posted @ 2024-10-22 13:19  等我刷把宗师  阅读(33)  评论(0)    收藏  举报