- 16
- 0
- 约1.28万字
- 约 87页
- 2020-01-13 发布于辽宁
- 举报
syms x; f=x^12-1; factor(f) ans = (x-1)*(1+x^2+x)*(1+x)*(1-x+x^2)*(1+x^2)*(x^4-x^2+1) 说明:factor(f)中的f可以是正整数,但在MATLAB6.5 不超过2^32. 例如 factor(12345) ans = 3 5 823 所以有 12345=3 5 823 factor(1234567890) ans = 2 3 3 5 3607 3803 所以有 1234567890= 2 3 3 5 3607 3803 (3) MATLAB提供了collect命令,用于合并符号表达式 的同类项。 例13 合并 同类项。 解 输入命令 : syms x; f= (x-1)^2*(x-3)*(x-5)*(x-7); collect(f) ans = -105+x^5-17*x^4+102*x^3-262*x^2+281*x (4) MATLAB提供了expand命令,用于对符号表达 式进行展开。 例14 将 和 进行展开。 解 输入命令 : syms x y; v=[(x+1)^3 sin(x+y)]; expand(v) ans= [x^3+3*x^2+3*x+1,sin(x)*cos(y)+cos(x)*sin(y)] 6、多项式的运算 (1)函数conv支持多项式乘法 例20 求 解 输入命令 : a=[1 2 3 4];b=[1 4 9 16]; c=conv(a,b) c = 1 6 20 50 75 84 64 (2)多项式加法 例21求 解 输入命令 : a=[1 2 3 4];b=[0 4 9 16]; d=a+b d= 1 6 12 20 (3)多项式除法 在MATLAB中,由函数deconv完成多项式除法,格式为 [g,r]=deconv(c,b) 表示c除以b,给出商多项式g和余数r,若r是零,则b和g的乘积恰好是c. 例22求 解 输入命令 : c=[2 5 0 4 1 4];b=[5 1 3 2]; [g,r]=deconv(c,b) g = 0.4000 0.9200 -0.4240 r = 0 0 0 0.8640 0.4320 4.8480 (4)用函数polyval求多项式的值 例23 解 输入命令 : a=[2 5 0 4 1 4]; h=polyval(a,[3 4]) h = 934 3400 (4)用函数roots求多项式的根 例24 解 输入命令 : a=[2 5 6 4 1 8]; h=roots(a) h = -1.7640 -0.8679 + 1.3394i -0.8679 - 1.3394i 0.5000 + 0.8001i 0.5000 - 0.8001i 五、程序设计与M文件 MATLAB作为一种应用最广泛的科学计算工具,它不仅具有强大的的数值计算、符号计算、画图功能,而且它还可以象C,FORTRAN等计算机高级语言一样,进行程序设计,编写一种以m作为文件扩展名的文件-M文件。 M文件就是用户把要实现的 命令写在一个以作为文件扩展名的 文件中,然后由MATLAB系统进行解释,运算出结果。 MATLAB语言为解释性程序设计语言,程序中的语句边解释边执行。MATLAB是用C语言编写的,具备C语言自由、灵活、简洁的风格。使用MATLAB书写程序,形式非常自由,而且利用丰富的库函数,避免了复杂的子程序编程工作。 单击MATLAB中的File→New→M-File即进入文本编辑窗口,输入程序即可,开头可任意输入MATLAB语句;输完程序后,单击保存按钮,在对话框中输入文件名,文件名开头必须是字母。 下面介绍几种常见的 M文件的程序结构。 1、M函数文件 1、M函数文件 sin(x), finverse(f)等都是MATLAB内嵌的库函数,可以反复调用,十分方便。用户在实际工作中,往往需要编制自己的函数,以实现计算中的参数传递和函数的反复调用.建立函数文件的方法如下: 格式: 说明:ff是函数名,x1,x2,是输入变量,y1,y2是输出变量,如果输
原创力文档

文档评论(0)