Matlab学习记录05

书籍:Matlab实用教程

工具:Matlab2021a

电脑信息:Intel® Xeon® CPU E5-2603 v3 @ 1.60GHz

系统类型:64位操作系统,基于X64的处理器 windows10 专业版

第2章 MATLAB数值计算

2.4 多项式

2.4.1 多项式的求值、求根和部分分式展开

1、多项式求值

复制代码
p1=[1 21 20 0]
polyval(p1,2)
x=0:0.5:3
polyval(p1,x)
p1 =

    1   21   20    0

ans = 132
x =

         0    0.5000    1.0000    1.5000    2.0000    2.5000    3.0000

ans =

          0    15.3750    42.0000    80.6250   132.0000   196.8750   276.0000

2、多项式求根

复制代码
p1 =

    1   21   20    0

ans = 132
x =

         0    0.5000    1.0000    1.5000    2.0000    2.5000    3.0000

ans =

          0    15.3750    42.0000    80.6250   132.0000   196.8750   276.0000


p1 =

    1   21   20    0

ans = 132
r =

  -20
   -1
    0

p =

    1   21   20    0

p =

    1   19  -20    0

3、特征多项式

复制代码
s=[1 2;3 4]
p2=poly(s)
roots(p2)
eig(s)
s =

   1   2
   3   4

p2 =

   1.0000  -5.0000  -2.0000

ans =

   5.3723
  -0.3723

ans =

  -0.3723
   5.3723

4、部分分式展开

复制代码
p1=[1 21 20 0]
p3=[100 200]
[r,p,k]=residue(p3,p1)
p1 =

    1   21   20    0

p3 =

   100   200

r =

   -4.7368
   -5.2632
   10.0000

p =

  -20
   -1
    0

k = [](0x0)

2.4.2 多项式的乘除和微积分运算

1、多项式的乘法和除法

复制代码
a1=[1 0]
a2=[1 1]
a3=[1 20]
p1=conv(a1,a2)
p2=conv(p1,a3)
[p3,r]=deconv(p2,a3)
conv(p3,a3)+r
a1 =

   1   0

a2 =

   1   1

a3 =

    1   20

p1 =

   1   1   0

p2 =

    1   21   20    0

p3 =

   1   1   0

r =

   0   0   0   0

ans =

    1   21   20    0

2、多项式的微分和积分

复制代码
a1=[1 0]
a2=[1 1]
a3=[1 20]
p1=conv(a1,a2)
p4=polyder(p1)
s=length(p4):-1:1
p1=[p4./s,0]
a1 =

   1   0

a2 =

   1   1

a3 =

    1   20

p1 =

   1   1   0

p4 =

   2   1

s =

   2   1

p1 =

   1   1   0

2.4.3 多项式拟合和插值

1、多项式拟合

复制代码
x1=1:10
p=[2 -1 5 10]
y0=polyval(p,x1)
p1=polyfit(x1,y0,1)
p2=polyfit(x1,y0,2)
p3=polyfit(x1,y0,3)
x1 =

    1    2    3    4    5    6    7    8    9   10

p =

    2   -1    5   10

y0 =

     16     32     70    142    260    436    682   1010   1432   1960

p1 =

   204.80  -522.40

p2 =

    32.000  -147.200   181.600

p3 =

   2.0000  -1.0000   5.0000  10.0000

2、插值运算

3、一维插值

复制代码
x1=1:10
p=[2 -1 5 10]
y0=polyval(p,x1)
y01=interp1(x1,y0,9.5)
y02=interp1(x1,y0,9.5,'spline')
y03=interp1(x1,y0,9.5,'cubic')
y04=interp1(x1,y0,9.5,'nearest')
x1 =

    1    2    3    4    5    6    7    8    9   10

p =

    2   -1    5   10

y0 =

     16     32     70    142    260    436    682   1010   1432   1960

y01 = 1696
y02 = 1682
y03 = 1682.0
y04 = 1960

4、二维插值

zi=interp2(x,y,z,xi,yi,'method')

相关推荐
狗狗摇屁屁2 小时前
JS手写防抖
开发语言·javascript·ecmascript
nnsix2 小时前
Unity 新InputSystem 学习笔记
笔记·学习
派大鑫wink2 小时前
【Day7】构造方法与 this 关键字:初始化对象的正确姿势
java·开发语言
智算菩萨2 小时前
实战:用 Python + 传统NLP 自动总结长文章
开发语言·人工智能·python
沐知全栈开发2 小时前
WebForms HashTable 深入解析
开发语言
子夜江寒2 小时前
基于 Python 库使用贝叶斯算法与逻辑森林
开发语言·python·算法
JIngJaneIL2 小时前
基于java+ vue办公管理系统(源码+数据库+文档)
java·开发语言·前端·数据库·vue.js·spring boot·后端
清风细雨_林木木2 小时前
Chart.js和 Echart的区别
开发语言·javascript·ecmascript
roman_日积跬步-终至千里2 小时前
【人工智能导论】05-学习-机器学习基础:从数据到智能决策
人工智能·学习·机器学习