matlab实验五多项式和符号运算
matlab练习程序(五次多项式轨迹规划)
subplot(3,1,1);
plot(t,x)
%位置
hold on;
subplot(3,1,2);
plot(t,v)
%速度
hold on;
subplot(3,1,3);
plot(t,a)
%加速度
hold on;
end
结果如下:
%起始状态x v a
xe = [te^5 te^4 te^3 te^2 te 1]; ve = [5*te^4 4*te^3 3*te^2 2*te 1 0]; ae = [20*te^3 12*te^2 6*te 2 0 0];
%结束状态x v a
A=[xs;vs;as;xe;ve;ae]; t=ts:0.01:te; for i=-5:5
可以根据状态量位置速度加速度的起始和结束值列出6个方程组成方程组解该问题
matlab练 习 程 序 ( 五 次 多 项 式 轨 迹 规 划 )
可以根据状态量(位置,速度,加速度)的起始和结束值列出6个方程,组成方程组解该问题。 1. 列出起始状态:
2. 列出终止状态:
3Hale Waihona Puke 写成矩阵形式:求解c即可。
下面是从横向-5米到5米的生成的路径。
代码如下:
clear all;close all;clc;
ts = 0;te = 10;
%起始结束时间
xs = [ts^5 ts^4 ts^3 ts^2 ts 1]; vs = [5*ts^4 4*ts^3 3*ts^2 2*ts 1 0]; as = [20*ts^3 12*ts^2 6*ts 2 0 0];
B=[0 0 0 i 0 0]'; %[xs vs as xe ve ae]
matlab多项式运算
在MATLAB中进行多项式运算,可以采用以下方法:1. 表示多项式:在MATLAB中,多项式可以用一个向量表示,向量的元素是多项式的系数,按照降幂排列。
例如,2次多项式2x^2 + 1可以表示为[2 0 1]。
2. 多项式乘法:使用`conv`函数可以进行多项式乘法。
例如,假设有两个多项式p1=[2 0 1]和p2=[3 1],则可以使用以下命令计算它们的乘积:```matlabp = conv(p1, p2);```这会返回一个新的向量,它是p1和p2的卷积。
3. 多项式除法:使用`deconv`函数可以进行多项式除法,它返回商式和余式。
例如,假设有两个多项式p1=[2 0 1]和p2=[3 1],则可以使用以下命令计算它们的商式和余式:```matlab[q, r] = deconv(p1, p2);```其中,q是商式,r是余式。
4. 求多项式的根:使用`roots`函数可以求多项式的根。
例如,对于多项式p=[2 0 1],可以使用以下命令求根:```matlabr = roots(p);```这会返回一个向量,其中包含了多项式的所有根。
5. 求多项式的值:使用`polyval`函数可以求多项式在给定点的值。
例如,对于多项式p=[2 0 1]和点x=1,可以使用以下命令计算多项式的值:```matlabv = polyval(p, 1);```这会返回一个标量值v,它是多项式在x=1处的值。
如果x是一个向量或矩阵,则`polyval`函数会对矩阵或向量中的每一个值求多项式的值。
6. 矩阵多项式求值:使用`polyvalm`函数可以像`polyval`一样求矩阵的值,但要求x为方阵。
例如,对于多项式p=[2 0 1]和方阵x,可以使用以下命令计算多项式在矩阵x中的值:```matlabv = polyvalm(p, x);```这会返回一个矩阵,其中包含了多项式在矩阵x中每一个位置的值。
实验六MATLAB的多项式与符号计算
实验六MATLAB的多项式与符号计算
实验六 MATLAB 的多项式与符号计算实验性质:验证
实验学时:2
一、实验目的
1、掌握多项式的常用运算;
2、掌握符号变量的定义方法;
3、掌握符号表达式的运算法则和符号矩阵运算;
4、掌握信号的傅立叶变换及其频谱图的绘制。
二、实验内容
1、化简表达式1
23842+++x x x 。
2、分解因式:
(1)44y x -;
(2)5135。
3、已知一元四次方程所对应的四个根为-5,3,3,3,求这个方程所对应的表达式原型。
4、已知
=1,0,00,0,10,1,01P ,=1,0,10,1,00,0,12P ,
=i h g f e d c b a A ,,,,,,,完成下列运算:(1)A P P B ??=21。
(2)B 的逆矩阵。
5、已知)()(21t e t f t ε-=,试画出f(t)及其幅度谱曲线。
6、有3个多项式542)(2
341+++=x x x x P ,2)(2+=x x P ,32)(23++=x x x P ,试进行下列操作:
(1)求)()()()(321x P x P x P x P +=;
(2)求)(x P 的根;
(3)当x 取矩阵A 的每一元素时,求)(x P 的值,其中:
--=5.25.34.1522.1075.01A (4)当以矩阵A 为自变量时,求)(x P 的值。
其中A 的值与(3)相同。
三、思考题
MATLAB 中符号运算与数值运算有什么区别(答出三点以上)?。
用MATLAB做线性代数实验
【2】参数方程解的判别 【注意】 :含有参数情况的线性方程组的解的情况讨论,不能直接使用 Matlab 中 的函数:rank,rref,因为 Matlab 会默认这些参数及其表达式不等于零。因此,应 该编写独立的过程加以讨论。 试就参数 s 的各种情况,讨论下述线性方程组的解的情况:
sx y z 1 x sy z s 。 2 x y sz s
p1 ( x ) q( x ) p2 ( x ) r ( x ) , d (r ( x )) d ( p2 ( x ))
例如,求多项式 f ( x ) x 3 6 x 2 11 x 6 , g( x ) x 5 2 x 2 1 的最大公因式和最小公倍 式。 p=[1 -6 11 -6]; q=[1 0 0 -2 0 1]; [q1,r1]=deconv(q,p) [q2,r2]=deconv(p,r1(4:6)) %注意保证第一个分量不能为零 [q3,r3]=deconv(r1(4:6),r2(3:4))
x2 x3 2 x2 3 x 2
分解为最简分式之和的程序如下:
-0.5000 - 1.3229i -1.0000 r = [] 结果表示出来即是:
f ( x)
如果是在实数范围内分解:
0.25 0.4725 i x 0.51.3229 i
0.25 0.4725 i x 0.51.3229 i
用 MATLAB 做线性代数实验
1. 多项式运算
【1】表示方法与根 表示方法:降幂,向量形式. 例如, p( x ) 2 x x 3 x5 被表示为向量 p=[-1 0 1 0 2 0] 而不是 p=[0 2 0 1 0 -1] 或者 p=[2 1 -1]. 相关 MATLAB 函数 函数名 含义 %注意保证第一个分量不能为零
matlab 求解多项式方程
Matlab求解多项式方程简介多项式方程是数学中常见的方程类型,它由若干个变量的幂次项和常数项组成。
求解多项式方程是数学计算中的基本问题之一,对于复杂的多项式方程,手工求解往往非常困难甚至不可能完成。
而Matlab作为一种强大的科学计算软件,提供了丰富的函数和工具来解决这类问题。
本文将介绍如何使用Matlab求解多项式方程,包括多项式方程的表示方法、求解方法以及具体实现步骤等内容。
多项式方程表示方法多项式方程一般采用以下形式表示:f(x)=a n x n+a n−1x n−1+⋯+a1x+a0其中,a n,a n−1,…,a1,a0为系数,x为变量,n为次数。
在Matlab中,可以使用向量表示系数,例如:coefficients = [a_n, a_{n-1}, ..., a_1, a_0];求解多项式方程的方法Matlab提供了几种不同的方法来求解多项式方程,包括根据系数求解、根据方程求解以及使用符号计算工具箱等方法。
根据系数求解使用roots函数可以根据多项式方程的系数求解方程的根。
该函数的输入参数为系数向量,输出结果为根向量。
coefficients = [a_n, a_{n-1}, ..., a_1, a_0];roots = roots(coefficients);根据方程求解使用solve函数可以根据多项式方程本身求解方程的根。
该函数的输入参数为方程本身,输出结果为根向量。
syms x;equation = a_n*x^n + a_{n-1}*x^{n-1} + ... + a_1*x + a_0;roots = solve(equation, x);使用符号计算工具箱Matlab中的符号计算工具箱提供了更加强大的多项式方程求解功能。
通过定义符号变量,并使用相关函数进行运算,可以得到更加精确和全面的结果。
首先,需要定义符号变量:syms x;然后,可以使用一系列函数进行多项式方程求解,例如:•solve:用于求解代数方程组;•vpasolve:用于数值方式求解代数或者超越方程组;•polyval:用于计算多项式在给定点处的值;•polyfit:用于多项式拟合;•等等。
Matlab实验及答案
实验一、MATLAB基本操作一、实验目的2.学习使用图形函数计算器命令funtool及其环境。
3. 学习使用help命令进行帮助4. 掌握向量与矩阵的创建以及矩阵的基本操作5. 掌握数组与矩阵的概念二、实验内容熟悉Matlab操作环境,认识命令窗口、内存工作区窗口、历史命令窗口;学会使用format命令调整命令窗口的数据显示格式;学会使用变量和矩阵的输入,并进行简单的计算;掌握数组与矩阵的概念;学会使用help命令进行帮助;学会使用who和whos命令查看内存变量信息;学会使用图形函数计算器funtool;1.命令窗口的简单使用(1)简单矩阵的输入(自由创建)x=[1 3 5;2 4 6]x =1 3 52 4 6(2)求[12+2×(7-4)]÷32的算术运算结果,总结算术运算符先级[12+2*(7-4)]/3^2ans =22.有关向量、矩阵或数组的一些运算(1)设A=15;B=20;求C=A+B与c=a+b的区别A=15;B=20;>> C=A+BC =35>> c=a+bUndefined function or variable 'a'.(2)设A=[1 2 3;4 5 6;7 8 9],B=[9 8 7;6 5 4;3 2 1];求A*B与A.*B,分析原因?(A*B是两个矩阵相乘,A.*B是对应元素相乘)A=[1 2 3;4 5 6;7 8 9];B=[9 8 7;6 5 4;3 2 1];>> A*Bans =30 24 1884 69 54138 114 90>> A.*Bans =9 16 2124 25 2421 16 9(3)设a=10,b=20;求i=a/b与j=a\ba=10;>> b=20;>> i=a/bi =0.5000>> j=a\bj =2(4)设a=[1 -2 3;4 5 -4;5 -6 7]请设计出程序,分别找出小于0的矩阵元素的线性索引以及行列索引(sub2ind/ind2sub)。
MATLAB多项式运算
MATLAB多项式运算 none1. 多项式的表⽰ 在Matlab中,多项式⽤⼀个⾏向量表⽰, ⾏向量的元素值为多项式系数按幂次的降序排列, 如p(x)=x3-2x-5⽤P=[1,0,-2,-5]表⽰.2. 多项式相关的函数和运算 (1) 多项式加减: 两个多项式之间的加减是对应幂次的系数进⾏加减, 可以直接⽤系数向量的加减法来得出. (2) 多项式乘法: 两个多项式的乘法⽤卷积函数conv来实现, 如计算多项式p1(x)=x3-2x-5和p2(x)=2x2+3x+1的积可利⽤如下代码:p1=[1,0,-2,-5];p2=[2,3,1];conv(p1,p2) (3) 多项式除法: deconv. 对于任意两个多项式p1, p2, deconv(p1,p2)的值为两个⾏向量, 即[q,r]=deconv(p1,p2), 其中q是p1除以p2的商, r是余, 它们满⾜p1=conv(p2,q)+r. (4) 多项式的根: roots. 对于任意多项式p(x), 假设p是它的系数向量, 那么roots(p)的值是⼀个列向量, 列向量的每个元素都是p(x)=0的根.(5) 矩阵的特征多项式或由根求多项式: poly. 对于⽅阵A, poly(A)返回A的特征多项式对应的系数⾏向量(特征多项式的根为矩阵的特征值). 对于⾏向量r, poly(r)返回⼀个以r的所有元素为根的多项式的系数向量.(6) 对多项式求导: polyder. 对于任意多项式p(x), 假设p是它的系数向量, 那么polyder(p)的值是⼀个⾏向量, 这个⾏向量是p'(x)=dp(x)/dx的系数向量.(7) 对多项式求不定积分: polyint. 对于任意多项式p(x), 假设p是它的系数向量, 那么polyint(p)的值是⼀个⾏向量, 这个⾏向量是p(x)的不定积分∫p(x)d x的系数向量. 可知, polyder(polyint(p))的结果为p.。
河南城建学院MATLAB上机实验问题详解
一熟悉Matlab工作环境1、熟悉Matlab的5个基本窗口思考题:(1)变量如何声明,变量名须遵守什么规则、是否区分大小写。
答:变量一般不需事先对变量的数据类型进行声明,系统会依据变量被赋值的类型自动进行类型识别,也就是说变量可以直接赋值而不用提前声明。
变量名要遵守以下几条规则: 变量名必须以字母开头,只能由字母、数字或下划线组成。
变量名区分大小写。
变量名不能超过63个字符。
关键字不能作为变量名。
最好不要用特殊常量作为变量名。
(2)试说明分号、逗号、冒号的用法。
分号:分隔不想显示计算结果的各语句;矩阵行与行的分隔符。
逗号:分隔欲显示计算结果的各语句;变量分隔符;矩阵一行中各元素间的分隔符。
冒号:用于生成一维数值数组;表示一维数组的全部元素或多维数组某一维的全部元素。
(3)linspace()称为“线性等分”函数,说明它的用法。
LINSPACE Linearly spaced vector. 线性等分函数LINSPACE(X1, X2) generates a row vector of 100 linearlyequally spaced points between X1 and X2.以X1为首元素,X2为末元素平均生成100个元素的行向量。
LINSPACE(X1, X2, N) generates N points between X1 and X2.For N < 2, LINSPACE returns X2.以X1为首元素,X2为末元素平均生成n个元素的行向量。
如果n<2,返回X2。
Class support for inputs X1,X2:float: double, single数据类型:单精度、双精度浮点型。
(4)说明函数ones()、zeros()、eye()的用法。
ones()生成全1矩阵。
zeros()生成全0矩阵。
eye()生成单位矩阵。
2、Matlab的数值显示格式思考题:(1)3次执行exist(’pi’)的结果一样吗?如果不一样,试解释为什么?>> pians =3.1416 >> sin(pi); >> exist('pi') ans =5 >> pi=0;>> exist('pi')ans =1>> pipi =>> clear>> exist('pi')ans =5>> pians =3.1416答:3次执行的结果不一样。
matlab多项式运算及求极限、复杂函数求极限
文章主题:深入探讨MATLAB中的多项式运算及求极限、复杂函数求极限MATLAB(Matrix Laboratory)是一款强大的数学软件,广泛应用于工程、科学、经济等领域。
在MATLAB中,多项式运算及求极限、复杂函数求极限是常见且重要的数学问题,对于提高数学建模和计算能力具有重要意义。
本文将从简到繁地探讨MATLAB中的多项式运算及求极限、复杂函数求极限,以帮助读者深入理解这一主题。
一、MATLAB中的多项式运算多项式是数学中常见的代数表达式,通常以系数的形式表示。
在MATLAB中,可以使用多种方法进行多项式的运算,如加法、减法、乘法、除法等。
对于两个多项式f(x)和g(x),可以使用“+”、“-”、“*”、“/”等运算符进行运算。
在实际应用中,多项式的运算往往涉及到多项式系数的提取、多项式的乘方、多项式的符号变化等操作。
MATLAB提供了丰富的函数和工具箱,如polyval、polyfit、roots等,可以帮助用户进行多项式的运算。
通过这些工具,用户可以方便地进行多项式的求值、拟合、求根等操作。
二、MATLAB中的多项式求极限求多项式的极限是微积分中常见的问题,对于研究函数的性质和图像具有重要意义。
在MATLAB中,可以通过lim函数来求多项式的极限。
lim函数可以接受不同的输入参数,如函数、变量、极限点等,从而计算多项式在某一点的极限值。
在进行多项式求极限时,需要注意的是对极限的性质和运算规则。
MATLAB中的lim函数遵循了标准的极限计算规则,如极限的四则运算法则、极限的有界性、极限的夹逼定理等。
用户可以通过lim函数灵活地进行多项式求极限的计算和分析。
三、MATLAB中的复杂函数求极限除了多项式,复杂函数在工程和科学中也具有广泛的应用。
MATLAB提供了丰富的函数和工具箱,如syms、limit、diff等,可以帮助用户进行复杂函数的求导、求极限等操作。
对于复杂函数的极限计算,需要综合运用代数运算、微分计算、极限性质等技巧。
实验五 用Matlab数据拟合
2. 已知观测数据点如表所示 x 1.6 2.7 1.3 4.1 3.6 2.3 y 17.7 49 13.1 189.4 110.8 34.5
0.6
4
4.9
409.1
3
65
2.4
36.9
求a, b, c的值, 使得曲线 f(x)=aex+bsin x+c lnx 与已知数据 点在最小二乘意义上充分接近.
例4 已知观测数据点如表所示
x 0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1 y 3.1 3.27 3.81 4.5 5.18 6 7.05 8.56 9.69 11.25 13.17 求三个参数 a, b, c的值, 使得曲线 f(x)=aex+bx2+cx3 与 已知数据点在最小二乘意义上充分接近.
1.55
500 106
2.47
2. 93
3. 03
2.89
1000 106 1500 106 2000 106 2375 106
3 1.953 103 1.517 103 1.219 10
/ / N / m 2 3.103 103 2.465 103
解: 描出散点图, 在命令窗口输入: t=[0:1:16] y=[30.0 29.1 28.4 28.1 28.0 27.7 27.5 27.2 27.0 26.8 26.5 26.3 26.1 25.7 25.3 24.8 24.0] plot(t,y,'*')
a=polyfit(t,y,1) a= -0.3012 29.3804 hold on
beta
= 3.0022 4.0304 0.9404
matlab符号运算 多项式
matlab符号运算多项式(实用版)目录1.MATLAB 中的多项式运算2.MATLAB 中的符号运算3.字符数组和 ASCII 码4.创建二维字符数组5.单元数组和字符串6.判断字符串是否相等正文在 MATLAB 中,多项式运算是一个非常常用的功能。
多项式运算的函数通常以向量来表示,这与符号表达式有所不同。
在 MATLAB 中,你可以使用符号运算来处理代数表达式,这种运算允许运算对象包含非数值的符号变量。
在 MATLAB 中,字符串可以用字符数组来表示,而字符数组则与ASCII 码相对应。
每个字符都有两个字节来构成。
你可以使用 whos 函数来查看字符数组。
如果想要将字符串转换为它的 ASCII 码,可以使用double 函数;如果想将 SACII 码转换为原来的字符,可以使用 char 函数。
当你需要创建二维的字符数组时,需要先确定数组的每一行字符的个数都必须相等。
例如,你可以使用 name 函数创建一个二维字符数组,如"Thomas R.Lee";"Sr.Developer"。
在 MATLAB 中,你可以通过利用单元数组来保存字符串的数据,这比字符串数组更加方便。
你可以使用 cellstr 函数将字符数组转换为单元数组。
当需要判断两个字符串是否相等时,MATLAB 提供了两个函数:strcmp 和 strncmp。
strcmp 函数用于比较两个输入字符串是否相等,而 strncmp 函数用于比较两个输入字符串的前几个字符是否相等。
总的来说,MATLAB 提供了强大的多项式运算和符号运算功能,同时它也提供了方便的字符数组和 ASCII 码转换功能,以及字符串的创建和比较功能。
matlab实验五多项式和符号运算
matlab实验五多项式和符号运算实验五:Matlab多项式和符号运算一、实验目的1.掌握Matlab多项式的运算。
2.了解符号运算。
二、实验内容1.将多项式()(2)(3)(7)(1)=-+-+化为x的降幂排列。
P x x x x xsyms x;y=(x-2)*(x+3)*(x-7)*(x+1);expand(y)ans =x^4-5*x^3-19*x^2+29*x+422.求一元高次方程的根。
98765432--++--++=53015027313658204100576-28800 x x x x x x x x xsyms x y;y=x^9-5*x^8-30*x^7+150*x^6-1365*x^4-820*x^3+410 0*x^2+576*x-2880;solve(y,x)ans =6.81947687941358392940041244319461.1365779764942761488953013276419+.15748095564819249061612981291831*i2.8654872113200760683901828473839+2.4926334821808 807616844446271927*i-1.8876051302159888775697938373354+1.0110818640881167605567812452594*i-.95151427733108350913000920547633-5.0968827172792270997017839130991-1.8876051302159888775697938373354-1.0110818640881 167605567812452594*i2.8654872113200760683901828473839-2.4926334821808 807616844446271927*i1.1365779764942761488953013276419-.15748095564819 249061612981291831*ix∈-区间内的曲3.求一元高次方程的根,并画出左边多项式函数在[2,2]线。
matlab符号运算 多项式
一、介绍matlab符号运算matlab符号运算是指利用matlab软件进行代数表达式的计算和求解。
在matlab中,符号运算可以实现对多项式的加减乘除、导数和积分等操作,非常适用于代数表达式的计算和求解。
在工程、数学和物理等领域,matlab符号运算被广泛应用,能够高效地解决各种代数运算问题。
二、matlab符号运算的基本操作1. 创建符号变量在matlab中,可以使用syms函数来创建符号变量,例如:```matlabsyms x y```这样就创建了两个符号变量x和y,可以用于代数表达式的计算和求解。
2. 代数表达式的运算利用符号变量创建代数表达式,并进行加减乘除等运算,例如:```matlabf = x^2 + 2*x + 1;g = x + 1;h = f * g;```这样就实现了对代数表达式的乘法运算,h为结果表达式。
3. 多项式求导利用diff函数可以对代数表达式进行求导,例如:```matlabf = x^2 + 2*x + 1;df = diff(f,x);```这样就求出了代数表达式f对x的一阶导数df。
4. 多项式积分利用int函数可以对代数表达式进行积分,例如:```matlabf = x^2 + 2*x + 1;F = int(f,x);```这样就求出了代数表达式f对x的不定积分F。
5. 多项式因式分解利用factor函数可以对代数表达式进行因式分解,例如:```matlabf = x^2 + 2*x + 1;factored_f = factor(f);```这样就对代数表达式f进行了因式分解,得到了其因式分解形式。
三、matlab符号运算在工程应用中的实例在工程领域,matlab符号运算被广泛应用于各种代数表达式的计算和求解。
以下以电路分析为例,介绍了matlab符号运算在工程应用中的实例。
1. 电路分析中的符号运算在电路分析中,通常需要对电路中的电压、电流、电阻等元件进行建模和分析。
《MATLAB仿真技术》实验指导书2016附问题详解
实验项目及学时安排实验一 MATLAB环境的熟悉与基本运算 2学时实验二 MATLAB数值计算实验 2学时实验三 MATLAB数组应用实验 2学时实验四 MATLAB符号计算实验 2学时实验五 MATLAB的图形绘制实验 2学时实验六 MATLAB的程序设计实验 2学时实验七 MATLAB工具箱Simulink的应用实验 2学时实验八 MATLAB图形用户接口GUI的应用实验 2学时实验一 MATLAB环境的熟悉与基本运算一、实验目的1.熟悉MATLAB开发环境2.掌握矩阵、变量、表达式的各种基本运算二、实验基本知识1.熟悉MATLAB环境:MATLAB桌面和命令窗口、命令历史窗口、帮助信息浏览器、工作空间浏览器、文件和搜索路径浏览器。
2.掌握MATLAB常用命令3.MATLAB变量与运算符变量命名规则如下:(1)变量名可以由英语字母、数字和下划线组成(2)变量名应以英文字母开头(3)长度不大于31个(4)区分大小写MATLAB中设置了一些特殊的变量与常量,列于下表。
MATLAB运算符,通过下面几个表来说明MATLAB的各种常用运算符4.MATLAB的一维、二维数组的寻访表6 子数组访问与赋值常用的相关指令格式5.MATLAB的基本运算表7 两种运算指令形式和实质涵的异同表6.MATLAB的常用函数表8 标准数组生成函数表9 数组操作函数三、实验容1、学习使用help命令,例如在命令窗口输入help eye,然后根据帮助说明,学习使用指令eye(其它不会用的指令,依照此方法类推)2、学习使用clc、clear,观察command window、command history和workspace等窗口的变化结果。
3、初步程序的编写练习,新建M-file,保存(自己设定文件名,例如exerc1、exerc2、 exerc3……),学习使用MATLAB的基本运算符、数组寻访指令、标准数组生成函数和数组操作函数。
Matlab实验报告
实验一:Matlab操作环境熟悉一、实验目的1.初步了解Matlab操作环境。
2.学习使用图形函数计算器命令funtool及其环境。
二、实验容熟悉Matlab操作环境,认识命令窗口、存工作区窗口、历史命令窗口;学会使用format命令调整命令窗口的数据显示格式;学会使用变量和矩阵的输入,并进行简单的计算;学会使用who和whos命令查看存变量信息;学会使用图形函数计算器funtool,并进行下列计算:1.单函数运算操作。
求下列函数的符号导数(1)y=sin(x); (2) y=(1+x)^3*(2-x);求下列函数的符号积分(1)y=cos(x);(2)y=1/(1+x^2);(3)y=1/sqrt(1-x^2);(4)y=(x1)/(x+1)/(x+2)求反函数(1)y=(x-1)/(2*x+3); (2) y=exp(x); (3) y=log(x+sqrt(1+x^2));代数式的化简(1)(x+1)*(x-1)*(x-2)/(x-3)/(x-4);(2)sin(x)^2+cos(x)^2;(3)x+sin(x)+2*x-3*cos(x)+4*x*sin(x);2.函数与参数的运算操作。
从y=x^2通过参数的选择去观察下列函数的图形变化(1)y1=(x+1)^2(2) y2=(x+2)^2(3) y3=2*x^2 (4) y4=x^2+2 (5) y5=x^4 (6)y6=x^2/23.两个函数之间的操作求和(1)s in(x)+cos(x) (2) 1+x+x^2+x^3+x^4+x^5乘积(1)e xp(-x)*sin(x) (2) sin(x)*x商(1)s in(x)/cos(x); (2) x/(1+x^2); (3) 1/(x-1)/(x-2);求复合函数(1)y=exp(u) u=sin(x) (2) y=sqrt(u) u=1+exp(x^2)(3) y=sin(u) u=asin(x) (4) y=sinh(u) u=-x实验二:MATLAB基本操作与用法一、实验目的1.掌握用MATLAB命令窗口进行简单数学运算。
matlab符号运算 多项式
matlab符号运算多项式摘要:1.引言2.Matlab 符号运算介绍3.多项式在Matlab 中的表示与运算4.多项式求解与优化5.总结正文:Matlab 是一个广泛应用于科学计算和工程设计的软件,其中符号运算功能强大,可以方便地进行各种数学计算。
在本文中,我们将重点介绍Matlab 中多项式的表示、运算及求解方法。
首先,我们需要了解Matlab 符号运算的基本概念。
在Matlab 中,符号运算可以处理任意精度的数值和符号表达式,支持常见的数学运算、函数计算以及逻辑表达式处理等。
接下来,我们将重点关注多项式在Matlab 中的表示与运算。
多项式是数学中一种重要的表达形式,可以用于描述许多实际问题。
在Matlab 中,多项式可以表示为符号表达式或者数值表达式。
例如,可以使用poly 函数创建一个多项式,如:```matlabp = poly(x, 3); % 创建一个关于x 的三次多项式```在Matlab 中,我们可以使用符号运算对多项式进行加、减、乘、除等基本运算。
例如:```matlabq = poly(x, 2); % 创建一个关于x 的二次多项式r = p + q; % 多项式加法s = p * q; % 多项式乘法t = p / q; % 多项式除法```此外,Matlab 还提供了许多内置函数,可以方便地对多项式进行求解和优化。
例如,我们可以使用roots 函数求解多项式的根:```matlabroots(p) % 求解多项式p 的根```我们还可以使用polyfit 函数对数据进行拟合,得到一个多项式表达式:```matlabx = [1, 2, 3, 4, 5]; % 数据点y = [2, 4, 6, 8, 10]; % 对应的y 值p = polyfit(x, y, 2); % 使用二次多项式拟合数据```通过上述方法,我们可以利用Matlab 符号运算功能,方便地处理多项式问题。
matlab多项式运算
即有理多项式可展开为:
6.6667 5 1.6667 0 s 4 s 5 s 1
部分分式展开函数residue
格式二:[b,a]=residue(r,p,k) 功能:格式一的逆作用
多项式运算小结
poly2sym(p)
求多项式的符号形式
k = conv(p,q) [k,r] = deconv(p,q)
非线性方程的根
fzero 的另外一种调用方式
fzero(f,[a,b]) 或 fzero(f,x0) 求方程 f=0 在 [a,b] 区间内或x0附近的根。 方程在 [a,b] 内可能有多个根,但 fzero 只给出一个
参数 f 可通过以下三种方式给出:
fzero('x^3-3*x+1',2) %字符串 f=inline('x^3-3*x+1'); fzero(f,2) %内联函数 fzero(@(x)x^3-3*x+1,2) %匿名函数的函数句柄
功能:把b(s)/a(s)展开成:
b(s) r1 r2 ..... rn k
a(s) s p1 s p2
s pn
其中,r代表余数数组,p代表极点数组,k代表常数项。
部分分式展开函数residue
例: 将有理多项式
10s 2展0开成部分分式。 s3 8s2 19s 12
[2, 1, 0, 3] [ 0, 0[, 2,1] [2, 1, 2, 4]
多项式四则运算
多项式乘法运算: k = conv(p,q) 例:计算多项式 2x3-x2+3 和 2x+1 的乘积 >> p=[2,-1,0,3]; >> q=[2,1]; >> k=conv(p,q) %乘积多项式的向量形式 >> poly2sym(k) %乘积多项式的符号形式 多项式除法运算: [k,r] = deconv(p,q) 其中 k 返回的是多项式 p 除以 q 的商,r 是余式。 即,[k,r]=deconv(p,q) <==> p=conv(q,k)+r
MATLAB多项式与符号运算
精选课件
10
1.恰定方程组的解
方程ax=b(a为非奇异) x=a-1 b 矩阵逆
两种解: x=inv(a)b — 采用求逆运算解方程 x=a\b — 采用左除运算解方程
精选课件
11
例: x1+2x2=8 2x1+3x2=13
方程ax=b
1 2
2 3
拟合函数:p=polyfit(x,y,n)
其中x、y为离散数据点的坐标向量,n为拟 合次数,即用n次多项式拟合,p为n次 多项式的系数
精选课件
17
拟合程序例1:
将下列离散点用直线拟合,并绘制:
(0,11.2)、(0.2,16.5)、(0.4,20.4)、(0.6,26.3)、(0.8,30.5)、(1,28.7)
一组根用列向量表示。
精选课件
4
多项式加减运算
计算a(x)+b(x)
如:2x3+4x2+6x+8
3x2+6x+9
则:a=[2,4,6,8];
b=[3,6,9]
→b=[0,3,6,9]
c=a+b =[2,7,12,17]
→ 2x3+7x2+612x+17
编写子程序文件自动完成两多项式加减运算
精选课件
5
精选课件
6
多项式乘运算conv()
例:a(x)=x2+2x+3; b(x)=4x2+5x+6; c = (x2+2x+3)(4x2+5x+6) a=[1 2 3];b=[4 5 6]; c=conv(a,b)=conv([1 2 3],[4 5 6]) c = 4.00 13.00 28.00 27.00 18.00 p=poly2str(c,'x') p = 4 x^4 + 13 x^3 + 28 x^2 + 27 x + 18 注:多项式乘运算不涉及补零的问题
实验指导书matlab基础
《MATLAB基础实验指导书》哈尔滨理工大学自动化学院电子信息科学与技术系2018.4实验一 MATLAB 的基本操作一、 实验目的:1. 掌握Matlab 软件使用的基本方法;2. 熟悉常用命令的操作;3. 熟悉Matlab 的数据表示和基本运算二、 实验内容:1. 计算 y =x 3 (x-0.98)2/(x 1.35)3-5(x I, x)当 x =2 和 x =4 的值2. 计算 cos60; -3;9-「2_ 2 2 3. 已知 a =3,A =4,b =a ,B =b -1,c =a A -2B,C =a 2B c ,求C4. 创建一个3*3矩阵,然后用矩阵编辑器将其扩充为 4*5矩阵5. 创建一个3*3矩阵魔方阵和相应的随机矩阵,将两个矩阵并接起来,然后提 取任意两个列向量矩阵,计算矩阵的5次方 - _1 4 813〕 一5 4 3 -2〕 7.设A = -3 6 -5 _9 ,B = 6 -2 3 -8 2 —7 -12 _8—1 3 _9 7」 C = *A 1 。
B D AB2 8. 求23(s 4)(s 1)的“商”及“余”多项式。
s 3 +s + 19. 建立矩阵A ,然后找出在[10,20]区间的元素的位置10. 创建一个有7个元素的一维数组,并做如下处理:1) 直接寻访一维数组的第6个元素;2) 寻访一维数组的第1、3、5个元素;3) 寻访一维数组中第4个至最后1个元素;4) 寻访一维数组中大于70的元素。
三、实验要求:1. 撰写预习报告。
6找出数组A =;42 41中所有绝对值大于3 53的元素。
利用上题的3.撰写实验报告,简述实验目的,提供实验结果和数据。
4.分析算法,并简要给出算法设计小结和心得。
实验二数据和函数的可视化一、实验目的:1.熟悉Matlab绘图命令及基本绘图控制;2.熟悉Matlab程序设计的基本方法。
二、实验内容:1.设y = cosx 0.5 + 3sin:",把x=0~2x区间分为125点,画出以x为横坐L (1+x2)」标,y为纵坐标的曲线。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
实验五:Matlab多项式和符号运算
一、实验目的
1.掌握Matlab多项式的运算。
2.了解符号运算。
二、实验内容
1.将多项式()(2)(3)(7)(1)
=-+-+化为x的降幂排列。
P x x x x x
syms x;
y=(x-2)*(x+3)*(x-7)*(x+1);
expand(y)
ans =
x^4-5*x^3-19*x^2+29*x+42
2.求一元高次方程的根。
98765432
--++--++=
53015027313658204100576-28800 x x x x x x x x x
syms x y;
y=x^9-5*x^8-30*x^7+150*x^6-1365*x^4-820*x^3+410
0*x^2+576*x-2880;
solve(y,x)
ans =
6.81947687944124431946
1.42761488953013276419+.8192491831*i
2.865487219+2.49263348244446271927*i
-1.887673354+1.812452594*i
-.9583509633
-5.922730991
-1.887673354-1.812452594*i
2.865487219-2.49263348244446271927*i
1.42761488953013276419-.8192491831*i
3.求一元高次方程的根,并画出左边多项式函数在[2,2]
x∈-区间内的曲线。
42
-+=
x x
210
a=[1 0 -2 0 1];
r=roots(a)
syms x;
x=-2:2;
y=[1 0 -2 0 1];
plot(x,y)
r =
1.0000 + 0.0000i
1.0000 - 0.0000i
-1.0000
-1.0000
-2-1.5-1-0.500.51 1.52
-2-1.5
-1
-0.50
0.5
1
4.对比用多项式函数的polyder 函数及符号函数中的diff 函数,求导x 2+2x+3。
>>y=[1 2 3];
polyder(y)
ans =
2 2
5.求多项式
在点2、4、5的值
>> a=[1 3 -2 1];
polyval(a,[2,4,5])
ans =
17 105 191
6.计算 a(x)=2x 3+4x 2+6x+8, b(x)=3x 2+6x+9的多项式相加(试着编写一个polyadd 的函数,实现多项式相加的功能)
function[poly]=polyadd(poly1,poly2)
if length(poly1)<length(poly2)
short=poly1;
long=poly2;
else short=poly2;
long=poly1;
end
mz=length(long)-length(short);
if mz>0poly=[zeros(1,mz),short]+long;
else poly=long+short;
end
poly1=[2 3 5 7];
poly2=[8 -6 4 -2];
[poly]=polyadd(poly1,poly2)
poly =
10 -3 9 5
7.求多项式321()357f x x x x =+++和322()8642f x x x x =-+-的乘积
()f x ;并求12()()()
f x f x f x -的商和余式。
(conv() deconv()) f1=[1 3 5 7];
f2=[8 -6 4 -2];
f=conv(f1,f2)
f =
8 18 26 36 -28 18 -14
>> fll=[zeros(1,length(f)-length(f1)),f1]
fll =
0 0 0 1 3 5 7
>>
>> [q,r]=deconv(f-fll,f2)
q =
1.0000 3.0000 5.0000 6.8750
r =
0 0 0 0 -3.7500 -4.5000 -7.2500
8.求52
=++的符号导数。
y x x
tan(4)3
y='x^5+tan(4*x^2)+3';
>> diff(y)
ans =
-26 -41 -10 73 -19 13 -70 12 -10
78 -26 -44 -9 2 8
f x的表达式。
观察在不使用collect(f)
9.用符号运算求实验内容6中的()
函数以及使用后的结果。
三、设计提示
1.关于多项式运算的函数有poly、roots、diff、conv/deconv等。
2.多项式做加减运算时要注意等长度。
3.符号表达式的输入可以用字符串方式,也可以用sym函数, syms函数。
4.了解以下符号多项式函数
1.collect(f): 函数用途是合并多项式中相同的项,
syms x t
f=(1+x)*t+x*t;
collect(f)
2.expand(f):展开多项式,
syms x
f=x*(x*(x-1)+3)+2;
expand(f);
3.horner(f)对转换多项式为Horner形式, 这种形式的特点是乘法嵌套, 其有着
不错的数值计算性质.
syms x;
f=x^3+2*x^2+5*x-2
horner(f)
4.factor(f): 多项式的因式分解. 如果无法在有理数的范围内作分解, 那么返回
的结果还是输入值.
syms x;
f=x^3-6*x^2+11*x-6;
factor(f)
5.simplify(f): 通过数学运算化简符号表达式
syms x;
f=cos(x)^2+sin(x)^2
simplify(f)
6.simple(f): 威力比较强大, 它会尝试各种办法来化简符号表达式, 其化简的标
准是使得符号表达式的长度最短.
syms x
f=sin(x)^2+cos(x)^2;
simple(f)
7.subexpr(f): 通过计算机自动寻找, 将表达式中多次出现的因式用简短的符号
表示, 返回的结果中包含替换之后的表达式, 以及被替换的因式.
syms x a;
f=solve(x^2+a*x-1);
r=subexpr(f);
8.pretty(f): 用"我们人能看到懂"的表示方法表示出符号表达式.
syms a x;
f=solve(x^2+a*x-1);
pretty(f);
四、实验报告要求
1.编写实现第2个实验内容中所使用的函数文件,并记录相应的生成结果和图形。
2.对于多项式的结果应以多项式向量和多项式表达式两种方式记录。
3.书写实验报告时要结构合理,层次分明,在分析描述的时候,需要注意语言的流畅。