matlab数值分析
1矩阵关系运算
matlab提供了6种关系运算
a=[ 1 2 3;4 5 6];
b=[ 6 5 3;3 2 1];
a<b
ans =
2×3 logical 数组
1 1 0
0 0 0
a<=b
ans =
2×3 logical 数组
1 1 1
0 0 0
a>b
ans =
2×3 logical 数组
0 0 0
1 1 1
a>=b
ans =
2×3 logical 数组
0 0 1
1 1 1
a==b
ans =
2×3 logical 数组
0 0 1
0 0 0
a~=b
ans =
2×3 logical 数组
1 1 0
1 1 1
2矩阵逻辑运算
matlab有三种逻辑运算 运算符 & | ~
a=[ 1 0 3; 0 -1 6];
b=[ 1 0 4; 7 9 1];
a&b
ans =
2×3 logical 数组
1 0 1
0 1 1
a|b
ans =
2×3 logical 数组
1 0 1
1 1 1
~a
ans =
2×3 logical 数组
0 1 0
1 0 0
~b
ans =
2×3 logical 数组
0 1 0
0 0 0
3创建多项式
方法:通过系数矢量的直接输入法
poly2sym([1 -4 3 2])
ans =
x^3 - 4x^2 + 3x + 2
poly2sym([1 0 3 0 ])
ans =
x^3 + 3*x
4求矩阵的特征多项式系数,并转换为多项式形式
a=[ 1 3 3; 4 5 6;7 8 0];
p=poly(a)
p =
1.0000 -6.0000 -76.0000 -69.0000
poly2sym§
ans =
x^3 - 6x^2 - 76x - 69
5计算多项式之和
a=poly2sym([2 -5 1 3])
a =
2x^3 - 5x^2 + x + 3
b=poly2sym([2 -1])
b =
2*x - 1
c=a+b
c =
2x^3 - 5x^2 + 3*x + 2
6计算多项式之差
a=poly2sym([3 13 6 8])
a =
3x^3 + 13x^2 + 6*x + 8
b=poly2sym([1 2 2])
b =
x^2 + 2*x + 2
c=a-b
c =
3x^3 + 12x^2 + 4*x + 6
7计算多项式的乘法。
a=[1,8,0,0,-10];
b=[2,-1,3];
c=conv(a,b)
c =
2 15 -5 24 -20 10 -30
poly2sym([2 15 -5 24 -20 10 -30])
ans =
2x^6 + 15x^5 - 5x^4 + 24x^3 - 20x^2 + 10x - 30
8计算多项式的除法
a=[3 13 6 8];
b=[1 4];
c=deconv(a,b)
c =
3 1 2
poly2sym([3 1 2])
ans =
3*x^2 + x + 2
9计算多项式的微分
p=[ 4 -12 -14 5 9];
polyder§
ans =
16 -36 -28 5
poly2sym(ans)
ans =
16x^3 - 36x^2 - 28*x + 5
10计算多项式的积分
p=[4 -12 -14 5 9];
polyint§
ans =
0.8000 -3.0000 -4.6667 2.5000 9.0000 0
poly2sym(ans)
ans =
(4x^5)/5 - 3x^4 - (14x^3)/3 + (5x^2)/2 + 9*x
11求解多项式的根
a=[1 -7 2 40];
r=roots(a)
r =
5.0000
4.0000
-2.0000
12求解方程组
a=[2 9 0;3 4 11;2 2 6];
b=[13 6 6]’;
x=a\b
x =
7.4000
-0.2000
-1.4000
上一篇: MATLAB学习02之向量
下一篇: matlab 拟合圆并求圆心