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')

相关推荐
cyforkk25 分钟前
12、Java 基础硬核复习:集合框架(数据容器)的核心逻辑与面试考点
java·开发语言·面试
我材不敲代码4 小时前
Python实现打包贪吃蛇游戏
开发语言·python·游戏
身如柳絮随风扬5 小时前
Java中的CAS机制详解
java·开发语言
韩立学长7 小时前
【开题答辩实录分享】以《基于Python的大学超市仓储信息管理系统的设计与实现》为例进行选题答辩实录分享
开发语言·python
froginwe117 小时前
Scala 循环
开发语言
m0_706653237 小时前
C++编译期数组操作
开发语言·c++·算法
故事和你918 小时前
sdut-Java面向对象-06 继承和多态、抽象类和接口(函数题:10-18题)
java·开发语言·算法·面向对象·基础语法·继承和多态·抽象类和接口
Bruk.Liu8 小时前
(LangChain实战2):LangChain消息(message)的使用
开发语言·langchain
qq_423233908 小时前
C++与Python混合编程实战
开发语言·c++·算法
m0_715575348 小时前
分布式任务调度系统
开发语言·c++·算法