1. 编写程序求函数、、的极限。
解答:
import sympy as sp
# 定义符号变量 x
x = sp.symbols('x')
# 定义函数
f1 = sp.sin(20 * x) / x
f2 = (1 + 4 * x)**(2 / x)
f3 = (1 + 4 / x)**(2 * x)
# 计算极限
limit1 = sp.limit(f1, x, 0)
limit2 = sp.limit(f2, x, 0)
limit3 = sp.limit(f3, x, sp.oo)
# 打印结果
print("lim_{x -> 0} (sin(20x) / x) =", limit1)
print("lim_{x -> 0} (1 + 4x)^(2/x) =", limit2)
print("lim_{x -> ∞} (1 + 4/x)^(2x) =", limit3)
结果:
2. 编写程序求函数的导数和的偏导数。
解答:
import sympy as sp
# 定义符号变量
x, y = sp.symbols('x y')
# 定义函数 f(x)
f = x**3 * sp.sin(x**2) + sp.exp(x + sp.sin(x))
# 计算 f(x) 的导数
f_derivative = sp.diff(f, x)
# 打印 f(x) 的导数
print("f(x) 的导数:")
print(f_derivative)
# 定义函数 z = xy^3 + sin^2(x + y^3)
z = x * y**3 + sp.sin(x + y**3)**2
# 计算 z 对 x 的偏导数
z_partial_x = sp.diff(z, x)
# 计算 z 对 y 的偏导数
z_partial_y = sp.diff(z, y)
# 打印偏导数
print("\nz 对 x 的偏导数:")
print(z_partial_x)
print("\nz 对 y 的偏导数:")
print(z_partial_y)
结果:
3. 编写程序求不定积分和定积分。
解答:
import sympy as sp
# 定义符号变量
x = sp.symbols('x')
# 不定积分
expr1 = (x+2)/((2*x+1)*(x**2+x+1))
indefinite_integral_expr1 = sp.integrate(expr1, x)
print("不定积分:", indefinite_integral_expr1)
# 定积分
expr2 = sp.cos(sp.log(x))
definite_integral_expr2 = sp.integrate(expr2, (x, 1, sp.E))
print("定积分:", definite_integral_expr2)
结果:
4. 编写程序求。
解答:
import sympy as sp
# 定义符号变量
x = sp.symbols('x')
y = sp.Function('y')(x)
# 定义微分方程
eq = sp.Eq(y.diff(x) - y/x, 2*sp.tan(y/x))
# 求解微分方程
solution = sp.dsolve(eq)
# 打印解
print(solution)
结果:
5. 编写程序产生20个服从期望为-2、方差为0.5的正态分布随机数。
解答:
import numpy as np
np.random.seed(0)
random_numbers = np.random.normal(loc=-2, scale=np.sqrt(0.5), size=20)
print(random_numbers)
结果:
6. 假定下北泽站平均每小时开行列车20趟,那么十分钟内正好开行5趟列车的概率是多少?用数据仿真的方法来计算。
import numpy as np
np.random.seed(0)
num_simulations = 1000000
trains_per_hour = 20
trains_per_10mins = trains_per_hour / 6
simulated_trains = np.random.poisson(lam=trains_per_10mins, size=num_simulations)
prob_5_trains = np.mean(simulated_trains == 5)
print(prob_5_trains)
结果:
7. 编写程序求的最大值及其自变量的取值。
解答:
from scipy.optimize import minimize
# 定义函数
def f(x):
return -7*x**2 + 3*x + 9
# 最大化函数取得最大值
result = minimize(lambda x: -f(x), x0=0)
# 输出结果
max_value = -result.fun
arg_max = result.x[0]
print("最大值:", max_value)
print("取得最大值的自变量:", arg_max)
结果:
8. 编写程序求线性方程组
。
解答:
from scipy.optimize import fsolve
# 定义方程组
def equations(vars):
x1, x2 = vars
eq1 = x1**2 + x2**2 - 5
eq2 = (x1 + 1) * x2 - (3 * x1 + 1)
return [eq1, eq2]
# 初始猜测
initial_guess = [0, 0]
# 解方程组
result = fsolve(equations, initial_guess)
# 输出结果
print("解:", result)
结果:
第六次作业明天更。
浅说两句题外话:
我不知道为啥,愈发感觉,本科的课都快学完一遍了,也没有学到什么我真正感兴趣的、有趣的、有应用价值的知识。大三的数据挖掘课,不带着大家实操一些有意思的模型。天天上课就讲一些PPT理论,作业也是解这种数学题,倒像是低年级学生数模课的作业(笑哭)。全然感觉不到“挖掘”的乐趣。
你说我们统计学吧,好像什么都学了,又好像什么都没学。我至今都不知道我们的统计学侧重点是数理统计、应用统计还是经济统计。这三年,我们学了C,Python,R,Matlab,Mintab,Eviews。但是有什么用呢?每个语言都浅尝辄止,很多同学也根本不去思考上机的作业,甚至连LLM都懒得用,直接照抄别人的代码。期末老师也不敢考多难,很多同学拿着代码当英语背就可以通过考试。这三年,我们学了宏观经济,微观经济,金数,精算,但是根本不成一个完整的体系,学一门丢一门。
我并不是一个很有方向感,很有执行力的人。但当我现在回过头来思考我这三年干了啥时,好像也说不出个所以然来。大一疯狂玩音乐玩到试图两小时通过一门一学期没去的课(最后挂了),大三又有专业课拿了90+的成绩,也做了一学期被别人抄作业的人。说起来是学习态度的两个极端,但最后回忆起来好像都是一个结果----浑浑噩噩就过去了。
说起来挺佩服班上的一些同学的,比如W同学,K同学,C同学,他们在这样的环境下愿意积极去寻找出路,最后都有了令人敬佩的成果。而我好像只是多会解了几道题目。希望自己未来可以学习上更主动些吧!考上研究生之后,努力补充真正的知识,为国家统计学发展贡献自己微小的力量吧!
L同学 于秋实园