牛顿迭代法求极小值
仅供参考
作业内容与要求
作业内容
作业要求
递交报告 + 代码
编程实现
计算偏导数
故上述非线性方程组的根可能为f(x,y)f(x, y)f(x,y)的极值点,至于是极小值点还是极大值点或鞍点,就需要使用微积分中的黑塞矩阵来判断了。
牛顿迭代法求解非线性方程组
带入即可
python编程实现
# -*- coding: utf-8 -*-
# 作者: @bushuo
# 联系方式: **************@qq.com -->
"""
@File : main.py
@Time : 2024/10/02 23:47:07
@Version :
@Desc : 数值分析第一次作业
"""
from math import sin, cos, exp
import numpy as np
# 定义匿名函数 fun(x, y)
f = lambda x,y: sin(x**2 + y**2) * exp(-0.1*(x**2 + y**2 + x*y + 2*x))
f1 = lambda x,y: x*cos(x**2 + y**2) - 0.1*(x + 0.5*y + 1)*sin(x**2 + y**2)
f2 = lambda x,y: y*cos(x**2 + y**2)-0.1*(y+0.5*x)*sin(x**2 + y**2)
f1_x = lambda x,y: -2*x**2*sin(x**2 + y**2) - 2*x*(0.1*x + 0.05*y + 0.1)*cos(x**2 + y**2) - 0.1*sin(x**2 + y**2) + cos(x**2 + y**2)
f1_y = lambda x,y: -2*x*y*sin(x**2 + y**2) - 2*y*(0.1*x + 0.05*y + 0.1)*cos(x**2 + y**2) - 0.05*sin(x**2 + y**2)
f2_x = lambda x,y: -2*x*y*sin(x**2 + y**2) - 2*x*(0.05*x + 0.1*y)*cos(x**2 + y**2) -<
牛顿迭代法求极小值的编程实现

最低0.47元/天 解锁文章
1万+

被折叠的 条评论
为什么被折叠?



