多项式和线性方程组

1.创建多项式

import numpy as np
# f(x) = x^3 - 2x + 1
a = np.array([1, 0, -2, 1])#从最高次方开始排
fx = np.poly1d(a)
#poly1d([ 1,  0, -2,  1])
type(fx)
#numpy.lib.polynomial.poly1d
fx(1)#把1代入求解 得到结果为0

#x为x-1
# g = (x-1)^2 + 3(x-1) + 2
p = np.poly1d([1, 3, 2])#系数1 3 2
g = lambda x: p(x-1)#x转换成x-1
#g=1 x^2 + 3 x + 2

#方程式由根创建
root = np.array([2, 3])
p2 = np.poly1d(root, r=True)
#p2=1 x^2 - 5 x + 6

#更换变量x为k
# 在显示上,更换变量
p3 = np.poly1d(a, variable='k')
#p3=1 k^3 - 2 k + 1

2.多项式运算

# f1(x) = x^3 - 2x + 1
#f2(x)=x^2 - 5x + 6
a = np.array([1, 0, -2, 1])
b=np.array([1 ,-5 ,6])
fx1 = np.poly1d(a)
fx2 = np.poly1d(b)
fx1+fx2 #1 x^3 + 1 x^2 - 7 x + 7
fx1-fx2 #1 x^3 - 1 x^2 + 3 x - 5
fx1*fx2 #1 x^5 - 5 x^4 + 4 x^3 + 11 x^2 - 17 x + 6
fx1/fx2 #(poly1d([1., 5.]), poly1d([ 17., -29.]))

多项式运算,本质是系数运算,系数可以用数组、列表表示

a = np.array([1, 0, -2, 1])
fx1 = np.poly1d(a)
fx3 = fx1 + [-2, 1]
fx4 = fx1 * np.array([-2, 1])
#fx1=1 x^3 - 2 x + 1
#fx3=1 x^3  - 4 x + 2
#fx4=-2 x^4  + 1 x^3  + 4 x^2  - 4 x + 1

微分求导、积分、求根

#fx1=1 x^3 - 2 x + 1
# 微分
pd = fx1.deriv()
#fd=3x^2 -2

#积分
pint = fx1.integ()
#pint=0.25 x^4  - 1 x^2 + 1 x

#求根
r = np.roots(fx1)
#[-1.61803399  1.          0.61803399]

3.解线性方程组

a = np.array([[3, 1], [1, 2]])#左边
b = np.array([[9], [8]])#右边
x = np.linalg.solve(a, b)
#array([[2.],
#       [3.]])

在这里插入图片描述

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值