[2018年最新整理]MATLAB的初等代数运算
MATLAB的初等代数运算
学习目标:
1、熟悉MATLAB符号表达式的化简和初等代数运算操作。
2、熟悉多项式运算的MATLAB命令及其用法。
符号表达式的化简
一、 MATLAB提供了多种化简符号表达式的函数命令。
函数格式说 明factor(s)因式分解expand(s)展开符号表达式scollect(s,x)
collect(s,v)对表达式s中的每一个函数按x的次数合并系数。
按指定变量v的次数合并系数。
[n,d]=numden(s)符号表达式s的通分simple(s)显示多种方法化简,最后给出表达式s的最简型。simplify(s)用一般化简法化简符号表达式s。radsimp(s)对根式表达式s化简horner(s)符号表达式s的嵌套形式
阅读下列程序:
1)分解因式
>> syms x
>> factor(x^3-1)
ans =
(x-1)*(x^2+x+1)
2)将cos(3x)展开
>> syms x
>> expand(cos(3*x))
ans =
4*cos(x)^3-3*cos(x)
3)将展开
>> expand((x+2)^5)
ans =
x^5+10*x^4+40*x^3+80*x^2+80*x+32
4)将按x的次数合并
>> syms x y
>> collect(x^2*y+y*x-x^2-2*x)
ans =
(y-1)*x^2+(y-2)*x
4)化简cos(2x)+2sin2x
>> syms x y
>> simplify(cos(2*x)+2*sin(x)^2)
ans =
1
上机实践:
1、求展开式中系数最大的项
2、求证:(用simple或 simplify命令把左边的符号表达式化简)
3、因式分解:
4、试用两次simple命令化简:
二、 函数的代数运算:
命令格式说 明symadd(f,g)符号表达式f加上符号表达式gsymsub(f,g)符号表达式f减去符号表达式gsymmul(f,g)符号表达式f乘上符号表达式gsymdiv(f,g)符号表达式f除符号表达式gsympow(f,p)符号表达式f的p次幂,p可以是表达式
三、 复合函数的建立:
命令格式说 明compose(f,g) 生成函数f(g(x)),注意:此时与手写方式完全不同!!!compose(f,g,z) 生成复合函数f(g(z)), 复合函数以z为自变量
>> syms x z
>> f=2^x;g=sin(x);
>> compose(f,g)
ans =
2^sin(x)
>> compose(g,f)
ans =
sin(2^x)
>> compose(g,f,z)
ans =
sin(2^z)
多项式运算:
一、 多项式的建立:
方法一:
1)多项式按降幂排列,写出系数向量,一定要把缺项的系数补0。
2)用poly2sym命令建立多项式。
格式:poly2sym(p) % p为多项式的系数向量
如:输入多项式:
>> p=[1 ,2, 0 ,-5, 6];s=[1, 2, 3];
>>p1= poly2sym(p)
p1 =
x^4+2*x^3-5*x+6
>>s1= poly2sym(s)
s1 =
x^2+2*x+3
方法二:用syms命令建立
syms是生成符号变量的命令,其格式为:syms 变量名1 变量名2 变量名3……
注:变量之间用空格分隔,不能用逗号。
如:多项式
>> syms x;
>> q=3*x^2+4*x+7
q =
3*x^2+4*x+7
求多项式的值:
命令格式:polyval (p,a) % 求 x=a 时多项式p的值
x=[a,b,c]; polyval(p,x) % 求 x=a ,x=b,x=c 时多项式p的值
如:polyval(p,-2) % 把x=-2代入多项式p求值
ans =
16
polyval(s,3/4) % 把x=3/4代入多项式s求值
ans =
5.0625
问:运行 polyval(p1,-2)结果如何?运行polyval(q,3),结果又如何?试试看
注:MATLAB中的操作命令是用C语言编写的一段程序,对数据类型有规定。多项式求值命令polyval要求多项式用其系数向量