MATLAB中的多项式的四则运算与求根方法
文章目录
1.多项式的加法
当两个多项式的阶次不一样的时候,低阶的多项式用首零填补,使其和高阶多项式有相同的阶次。下面是通用的多项式加法函数示例:
现在为了验证该函数ppadd(a,b),命令行输入以下内容然后按回车键得:
结果是:
c(x)c(x)c(x)=x4x^4x4+3x33x^33x3+6x26x^26x2+10x10x10x+15
2.多项式乘法
在MATLAB中,函数conv支持多项式的乘法(运算法则为两个数组的卷积)
不妨再命令行输入如下指令:
a=[1 2 3 4 5]; b=[1 2 5 6 7]; c=conv(a,b)
按回车键,得到如下结果:
c= 1 4 12 26 47 62 70 58 35
结果是:c(x)c(x)c(x)=x8x^8x8+4x74x^74x7+12x612x^612x6+26x526x^526x5+47x447x^447x4+62x362x^362x3+70x270x^270x2+58x58x58x+353535
3.多项式除法
在MATLAB中,多项式除法是由函数deconv实现的。在命令行窗口输入:
a=[1 5 15 35 69 100 118 110 72]; b=[1 2 4 6 8]; [c,r]=deconv(a,b)
按回车键得到以下结果:
其中c表示商的系数,而r 表示余数,即:
x8+5x7+15x6+35x5+69x4+100x3+118x2+110x+72x4+2x3+4x2+6x+8\frac{x^8+5x^7+15x^6+35x^5+69x^4+100x^3+118x^2+110x+72}{x^4+2x^3+4x^2+6x+8}x4+2x3+4x2+6x+8x8+5x7+15x6+35x5+69x4+100x3+118x2+110x+72=x4+3x3+5x2+7x+9x^4+3x^3+5x^2+7x+9x4+3x3+5x2+7x+9
4.多项式求根及其逆运算
4.1 多项式求根
所谓多项式求根,即求出多项式为0的值。MATLAB中提供特定函数roots求解一个多项式的根。
例如:求解多项式3x4−10x3+15x+1000=03x^4-10x^3+15x+1000=03x4−10x3+15x+1000=0的x的值
在命令行输入以下指令:
p=[3 -10 0 15 1000]; r=roots(p)
按回车键得到以下结果:
4.2 求根的逆运算
在MATLAB中,无论是多项式还是它的根都是以向量的形式存储,按照MATLAB的规定,多项式是行向量,根是列向量。因此,当我们给出一个多项式的根时,MATLAB也可以构造出相应的多项式。通常,我们调用poly函数,如下所示:
在命令行输入:
c=[4.0283+2.8554i; 4.0283-2.8554i; -2.3616+2.8452i; -2.3616-2.8452i]; p=poly(r)
按回车键输出结果得:
这里需要注意,由于MATLAB无隙处理复数,当用根重组多项式时,如果有一些根是复根(即有虚部)。由于截断误差,poly的结果会有一些小的虚部。消除假的虚部,我们只需要用real函数抽取实部即可。
- linux shell 实现 四则运算(整数及浮点) 简单方法
- 一元多次多项式的四则运算
- Linux shell实现 四则运算(整数及浮点) 简单方法
- 应用matlab多项式的表示以及运算
- matlab控制运算精度函数digits(A)和vpa(B)的使用方法
- MATLAB多项式运算与符号运算
- MATLAB常用命令(二)之 多项式运算
- 一个计算四则运算表达式文本的方法
- 写一个方法,求两个整数之和,要求在函数体内不得使用+、-、*、/四则运算符号。
- 多项式mod的运算方法
- 字符串四则运算表达式的求解(中缀表达式实现,模拟笔算的方法)
- java调用matlab实例(以四则运算为例)
- matlab控制运算精度函数digits(A)和vpa(B)的使用方法
- 算法--两种方法实现一个Add函数,让两个整数相加,但是不能使用+、-、*、/等四则运算符。
- matlab中求余、求模运算方法总结
- shell实现四则运算简单方法
- 递归方法求四则运算表达式的值
- 一种高效的 vector 四则运算处理方法
- linux shell 里面四则运算的实现方法
- linux shell 实现 四则运算(整数及浮点) 简单方法