




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
Matlab多项式运算与代数方程求解器一、Matlab多项式运算
Matlab
中多项式可用其系数组成的向量表示n次多项式的系数向量长度为n+1,缺少的幂次项系数为0在Matlab中表示为向量:注:系数中的零不能省!例:多项式的符号形式:poly2sym>>
poly2sym([2,-1,0,3])1.多项式四则运算多项式加减运算Matlab没有提供专门进行多项式加减运算的函数,事实上,多项式的加减就是其所对应的系数向量的加减运算对于次数相同的多项式,可以直接对其系数向量进行加减运算;如果两个多项式次数不同,则应该把低次多项式中系数不足的高次项用0补足,然后进行加减运算。例:1.多项式四则运算多项式乘法运算:k
=
conv(p,q)例:计算多项式
和
的乘积>>
p=[2,-1,0,3];>>q=[2,1];>>k=conv(p,q);%[4,0,-1,6,3]多项式除法运算:[k,r]
=
deconv(p,q)其中
k
返回的是多项式
p
除以
q
的商,r
是余式。[k,r]=deconv(p,q)p=conv(q,k)+r<==>2.多项式的求导
polyderk=polyder(p):多项式
p
的导数;k=polyder(p,q):
p*q
的导数;[k,d]=polyder(p,q):p/q
的导数,k
是分子,d
是分母>>
k1=polyder([2,-1,0,3]);%[6,-2,0]>>
k2=polyder([2,-1,0,3],[2,1]);%[16,0,-2,6]>>
[k2,d]=polyder([2,-1,0,3],[2,1]);例:已知,,
求3.多项式的值
计算多项式在给定点的值
代数多项式求值y
=
polyval(p,x):计算多项式
p
在
x
点的值注:若x
是向量或矩阵,则采用数组运算(点运算)!>>
p=[2,-1,0,3];>>
x=2;y=polyval(p,x);%15>>
x=[-1,2;-2,1];y=polyval(p,x)例:已知
,分别取
x=2
和一个
22
矩阵,
求
p(x)
在
x处的每个分量上的值3.多项式的值
矩阵多项式求值Y=polyvalm(p,X)采用的是普通矩阵运算
X必须是方阵例:已知
,则polyvalm(p,A)=2*A*A*A
-
A*A
+
3*eye(size(A))polyval(P,A)=2*A.*A.*A
-
A.*A
+
3*ones(size(A))>>
p=[2,-1,0,3];x=[-1,2;-2,1];>>
polyval(p,x)>>
polyvalm(p,x)4.多项式的零点x=roots(p):若
p
是
n
次多项式,则输出是p=0
的
n
个根组成的
n
维向量。若已知多项式的全部零点,则可用poly函数给出该多项式p=ploy(x)>>
p=[2,-1,0,3];>>
x=roots(p)例:已知
,求
p(x)
的零点。k
=
conv(p,q)[k,r]
=
deconv(p,q)k
=
polyder(p)
k
=
polyder(p,q)[k,d]
=
polyder(p,q)y
=
polyval(p,x)Y
=
polyvalm(p,X)x
=
roots(p)多项式运算小结多项式运算中,使用的是多项式
系数向量,不涉及符号计算!poly2sym(p)二、线性方程组求解
线性方程组求解linsolve(A,b):解线性方程组例:解方程组>>
A=[12-1;101;130];>>
b=[2;3;8];%列向量>>
x=linsolve(A,b)%sum(x'.*A(1,:))>>
x=A\b%与上面结果相同2.非线性方程的根Matlab非线性方程的数值求解fzero(f,x0):求方程
f=0
在
x0
附近的根。方程可能有多个根,但fzero
只给出距离x0
最近的一个
fzero
先找出一个包含x0
的区间,使得f
在这个区间两个端点上的函数值异号,然后再在这个区间内寻找方程f=0
的根;如果找不到这样的区间,则返回NaN。
x0
是一个标量,不能缺省由于fzero
是根据函数是否穿越横轴来决定零点,因此它无法确定函数曲线仅触及横轴但不穿越的零点,如|sin(x)|
的所有零点。2.非线性方程的根
fzero
的另外一种调用方式fzero(f,[a,b])方程在[a,b]
内可能有多个根,但fzero
只给出一个
求方程f=0在[a,b]
区间内的根。
参数
f
可通过以下方式给出:
fzero('x^3-3*x+1',2);f=inline('x^3-3*x+1');fzero(f,2)
fzero(@(x)x^3-3*x+1,2);
f
不是方程!也不能使用符号表达式!例:>>
fzero('sin(x)',10)>>
fzero(@sin,10)>>
fzero('x^3-3*x+1',1)>>
fzero('x^3-3*x+1',[1,2])>>
fzero('x^3-3*x+1=0',1)X>>
fzero('x^3-3*x+1',[-2,0])>>
f=inline('x^3-3*x+1');>>
fzero(f,[-2,0])用
fzero
求零点时可以先通过作图确定零点的大致范围符号求解s=solve(f,v):求方程关于指定自变量的解;s=solve(f):求方程关于默认自变量的解。
f
可以是用字符串表示的方程,或符号表达式;若f
中不含等号,则表示解方程f=0。
solve例:解方程
x^3-3*x+1=0>>
symsx;f=x^3-3*x+1;>>
s=solve(f,x)>>
s=solve('x^3-3*x+1','x')>>
s=solve('x^3-3*x+1=0','x')符号求解
solve
也可以用来解方程组solve(
f1,f2,...,fN,v1
,v2
,...,vN)求解由f1,f2,...,fN
确定的方程组关于v1
,v2
,...,vN
的解例:解方程组>>
[x,y,z]=solve('x+2*y-z=27','x+z=3',...
'x^2+3*y^2=28','x','y','z')输出变量的顺序要书写正确!solve在得不到解析解时,会给出数值解。roots(p):多项式的所有零点,p
是多项式系数向量。fzero(f,x0):求f=0
在x0
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年心理疏导与咨询实践考试试卷及答案
- 2025年食品安全管理员考试题库解析食品安全考试卷及答案解析
- 安全文化建设与企业文化融合的实证研究考核试卷
- 化学试剂在气候变化影响评估中的应用考核试卷
- 客户关系管理在市场竞争中的策略应用考核试卷
- 智能化药物生产过程优化考核试卷
- 捐赠外汇管理办法
- 房建资料管理办法
- 库龄考核管理办法
- 当涂征迁管理办法
- 2025工会知识测试题及答案
- 2025年塔城地区直遴选面试真题附详解含答案
- 2025机动车检测站授权签字人考试试题(附含答案)
- 内部竞聘选拔的方案
- 2025年法律专业基础知识考试试卷及答案
- 电影音乐欣赏智慧树知到期末考试答案章节答案2024年华南农业大学
- 十千瓦风力发电机设计(机械类)
- DDI辅导员工迈向成功-辅导领导力系列
- 熔化焊接与热切割实操培训大纲
- 腺样体肥大与鼻炎中医治疗方法ppt课件(PPT 30页)
- 信号检测及估计.pptx
评论
0/150
提交评论