Matlab学习20181014
roots求根、poly输入根返回多项式、poly2sym输入系数返回多项式、conv返回多项式相乘的系数、deconv返回多项式相除的商和余数函数
>> p=[1 -12 0 25 116]
p =
1 -12 0 25 116
>> x=roots(p) %求取以p为多项式系数的根,以列向量的形式返回
x =
11.7473
2.7028
-1.2251 + 1.4672i
-1.2251 - 1.4672i
>> p1=poly(x) %求取以x为跟的多项式
p1 =
1.0000 -12.0000 -0.0000 25.0000 116.0000
>> poly2sym(p) %返回以p为多项式系数的多项式
ans =
x^4 - 12*x^3 + 25*x + 116
>> a=[1 2 3 4 5 6];
>> b=[5 6 7 8 4 5 6];
>> conv(a,b) %返回以a和b为多项式系数相乘的系数
ans =
5 16 34 60 90 125 131 125 106 73 60 36
>> [c d]=deconv(a,b) %返回多项式a/c的商和余式
c =
3 -1 2
d =
0 0 0 -1
polyder多项式求导
>> a=[1 2 3 4 5 6];
>> poly2sym(a)
ans =
x^5 + 2*x^4 + 3*x^3 + 4*x^2 + 5*x + 6
>> y=polyder(a) %输出以a为多项式系数的多项式的导数多项式的系数
y =
5 8 9 8 5
>> poly2sym(y)
ans =
5*x^4 + 8*x^3 + 9*x^2 + 8*x + 5
a=a(: )把a变成一个列向量
>> a=[1 2 3 4 5 6 7 8 9];
>> a=a(:)
a =
1
2
3
4
5
6
7
8
9
>> a=magic(3)
a =
8 1 6
3 5 7
4 9 2
>> a=a(:)
a =
8
3
4
1
5
9
6
7
2
zeros(m,n)(当输入参数m或者n是非正整数时,返回一个空数组)
>>zeros(1,-9)
ans =
Empty matrix: 1-by-0
>> zeros(1,0.1)
Warning: Size vector should be a row vector with integer elements.
ans =
Empty matrix: 1-by-0
>> zeros(1,0)
ans =
Empty matrix: 1-by-0
两个长度不相等的行向量相加
function p=mmpadd(a,b)
if nargin~=2 %判断输入参数个数是否是2;不是时报错,并提示错误原因,并终止程序运行
error(' Not enough input arguments ')
end
a=a(:)' ; %把向量a变成列向量;在转置
b=b(:)' ;
na=length(a) ;
nb=length(b) ;
p=[zeros(1,nb-na) a]+[zeros(1,na-nb) b] ; %zeros函数中有一个参数是负数时,会返回一个空矩阵
errordlg(‘str1’,‘str2’)
>> errordlg('Not enough input arguments','VectorAddEorror')
效果如下