Matlab 多项式运算与 及代数方程求解器 数学软件与 及数学实验 .ppt

Matlab 多项式运算与 及代数方程求解器 数学软件与 及数学实验 .ppt

  1. 1、本文档共17页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
Matlab 多项式运算与 及代数方程求解器 数学软件与 及数学实验 .ppt

数学实验 Matlab 多项式运算与代数方程求解器 Matlab 多项式运算 Matlab 中多项式的表示方法 在 Matlab 中,n 次多项式是用一个长度为 n+1的向量来表示,缺少的幂次项系数为 0。 注:系数中的零不能省! 多项式的符号形式:poly2sym poly2sym([2,-1,0,3]) 多项式四则运算 多项式加减运算 Matlab 没有提供专门进行多项式加减运算的函数,事实上,多项式的加减就是其所对应的系数向量的加减运算 对于次数相同的多项式,可以直接对其系数向量进行加减运算; 如果两个多项式次数不同,则应该把低次多项式中系数不足的高次项用 0 补足,然后进行加减运算。 例: 多项式四则运算 多项式乘法运算: k = conv(p,q) 其中 k 返回的是多项式 p 除以 q 的商,r 是余式。 [k,r]=deconv(p,q) p=conv(q,k)+r == 多项式的求导 polyder k=polyder(p) : 多项式 p 的导数; k=polyder(p,q): p*q 的导数; [k,d]=polyder(p,q): p/q 的导数,k 是分子,d 是分母 k1=polyder([2,-1,0,3]); k2=polyder([2,-1,0,3],[2,1]); [k2,d]=polyder([2,-1,0,3],[2,1]); 多项式的零点 x=roots(p):若 p 是 n 次多项式,则输出是 p=0 的 n 个根组成的 n 维向量。 若已知多项式的全部零点,则可用 poly 函数给出该多项式 p=ploy(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) 线性方程组求解 线性方程组求解 例:解方程组 A=[1 2 –1; 1 0 1; 1 3 0]; b=[2;3;8]; x=linsolve(A,b) b是列向量! 非线性方程的根 Matlab 非线性方程的数值求解 fzero(f,x0):求方程 f=0 在 x0 附近的根。 方程可能有多个根,但 fzero 只给出距离 x0 最近的一个 fzero 先找出一个包含 x0 的区间,使得 f 在这个区间两个端点上的函数值异号,然后再在这个区间内寻找方程 f=0 的根;如果找不到这样的区间,则返回 NaN。 x0 是一个标量,不能缺省 由于 fzero 是根据函数是否穿越横轴来决定零点,因此它无法确定函数曲线仅触及横轴但不穿越的零点,如 |sin(x)| 的所有零点。 非线性方程的根 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 syms x; 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

文档评论(0)

yuzongxu123 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档