MATLAB原理应用实验报告第三章(符号运算)
MATLAB实验报告
MATLAB实验报告江苏科技⼤学《MATLAB实践》实验报告学号:1341901111姓名:符⾸夫计算机科学与⼯程学院2016.5.31实验⼀ MATLAB的基本使⽤⽅法实验⽬的和要求:通过完成实验⼀,掌握MATLAB的基本使⽤⽅法。
实验内容:(⼀)练习数据和符号输⼊法,将前⾯的命令在命令窗⼝中执⾏通过。
1)>>52)>>x=[1 2 3 4]3)>>g=[1 2 3 4];h=[4 3 2 1]>>s1=g+h, s2=g.*h, s3=g.^hS1=5 5 5 5S2=4 6 6 4S3=1 8 9 4(⼆)输⼊A=[715;256;315],B=[111;222;333],在命令窗⼝中执⾏下列表达式,掌握其含义。
源程序:>>A=[7 1 5;2 5 6;3 1 5];B=[1 1 1;2 2 2;3 3 3];>>A(2,3)>>A(:,2)>>A(:,1:2:3) % A数组中第⼀列和第三列>>A(3,:) %A数组中第三⾏>>A(:,3).*B(:,2) %A中第三列和B中第⼆列相乘>> A(:,3)*B(2,:) %A中第三列和B中第⼆⾏相乘竖着排,形成3*3矩阵>>A*B %A 与B数组相乘>>A.*B>>A^2>>A.^2 % A中所有数平⽅>>B/A %B矩阵除以A矩阵>>B./A % B中数除以A中对应位置数(三) 输⼊C=.1:2:20,则C (i )表⽰什么?其中i=1,2,3…10;源程序:>>c=1:2:20; >>c(1) >>c(10)实验⼆ MATLAB的数值计算实验⽬的和要求:通过完成实验⼆,掌握MATLAB的数值计算。
实验内容:(⼀) ⽤⼆分法计算多项式⽅程X^3-2X-5=0在[0,3]内的⼀个根。
MATLAB应用第三章-符号计算
3. 1 数据类型 3.2 符号运算
数学运算中除了数值运算外,还有大量抽象运算(计算式中带有符号变 量、表达式的运算)。Matlab就是利用maple软件的符号运算功能来实 现这些符号运算的。 Maple : 通用的数学和工程软件,是世界上最值得信赖、最完整的数学 软件之一,被高等院校、研究机构和公司广泛应用,用户渗透超过97% 的世界主要高校和研究所,超过81%的世界财富五百强企业。 Maple提供世界上最强大的符号计算,无与伦比的数值计算,支持 用户界面开发和网络发布,内置丰富的数学求解库,覆盖几乎所有的数 学分支,所有的操作都是在一个所见即所得的交互式技术文档环境中完 成,完成计算的同时也生成了专业技术文件和演示报告。 Maple不仅仅提供编程工具,更重要的是提供数学知识。Maple是 教授、研究员、科学家、工程师、学生们必备的科学计算工具,从简单 的数字计算到高度复杂的非线性问题,Maple都可以帮助您快速、高效 地解决问题。用户通过Maple产品可以在单一的环境中完成多领域物理 系统建模和仿真、符号计算、数值计算、程序设计、技术文件、报告演 示、算法开发、外部程序连接等功能,满足各个层次用户的需要,从高 中学生到高级研究人员。
格 Eg 3-2 补充。 补充。 2)char函数创建:char(‘string1’,’string2’, …); Eg 3-3 各个字符串不须同大小, 各个字符串不须同大小,该函数自动补充空白 字符。 字符。 Eg 3-4
字符串与单元 1)cellstr将字符数组转换成单元数组。 2)char函数将单元数组转换成字符数组。 数组的转换 字符串的比较 1)strcmp(a,b):比较两个字符串所有字符是
Grand total is 33 elements using 462 bytes
MATLAB实验三参考答案
how =collect(x)
4、求下列函数的极限(写出命令) (1) lim
cos x e x 0 x4
x2 2
syms x; limit('(cos(x)-exp(-1/2*x^2))/(x^4)',x,0) -1/12 (2) lim
2 x ln 2 x 1 x 0 1 cos x
syms n; S=symsum(1/((3*n-2)*(3*n+1)),n,1,inf) 8、试求出函数 f ( x )
sin x 的麦克劳林幂级数展开式的前 9 项,并求出关于 x=2 x 3x 2
2
的 Taylor 幂级数展开式的前 5 项。(命令 taylor 或者 taylortool)
河南财经政法大学数学与信息科学学院 1
实验报告
结果: EXPR =(x^2+x*exp(-t)+1)*(x+exp(-t)) expr1 =x^3+2*exp(-t)*x^2+(1+exp(-t)^2)*x+exp(-t) expr2 =x*exp(-t)^2+(2*x^2+1)*exp(-t)+(x^2+1)*x 3、factor(因式分解),simple(简化运算,对表达式尝试多种不同的算法进行简化,并以最 简化形式给出,How 中记录的为简化过程中使用的方法, )指令的使用 syms a x; f1=x^4-5*x^3+x^2+5*x-6; factor(f1) x^4-5*x^3+x^2+5*x-6 f2=x^2-a^2; factor(f2) (x-a)*(x+a) f3=2*sin(x)^2-cos(x)^2 [y , how]=simple(f3) y 为 f 的最优化简形式,How 中记录的为简化过程中使用的方法 y =-3*cos(x)^2+2 how =simplify [y , how]=simple(f1) y =x^4-5*x^3+x^2+5*x-6
数学实验三MATLAB符号运算功能
实验3 MATLAB符号运算功能一、实验目的:掌握MATLAB符号运算功能的基本使用方法1.符号矩阵的建立及符号矩阵的运算;2.符号矩阵的简化;3.符号矩阵的极限和微积分;4.代数方程求解;5.一元函数图象简易画法.二、实验内容:1.设)1xxg xe)=x(-(-1) 将)g写成MATLAB符号表达式;(x2) 求出符号表达式)g;('x3) 利用"subs"命令求出)4(g和)4('g;4) 利用"plot"命令画出函数)g在区间[-3,3]上的光滑图象;(x5) 利用"ezplot"命令画出函数)g在区间[-3,3]上的图象并与4)所得结果(x进行比较.编写以下程序:(1)>> syms x>> g=[x*(exp(x)-x-1)]g =(2) >> diff(g)ans =exp(x)-x-1+x*(exp(x)-1)(3) >> G=subs(g,[4])G =198.3926>> G1=subs(diff(g),4)G1 =263.9908(4)>> x=-3:0.01:3;y=x.*(exp(x)-x-1);>> plot(x,y)-3-2-10123-1001020304050(5)>> ezplot(g,[-3,3])-3-2-10123-551015202530x x (exp(x)-x-1)用ezplot 作图较精确。
2. 设)1()(1--=x e x x g x ,1)(22+=x x g1) 利用"ezplot "命令画图估计函数)(1x g 与)(2x g 图象交点的x 值;2) 利用"solve "命令求出函数)(1x g 与)(2x g 图象交点处x 的精确值.(1) 编写以下程序:>> ezplot(g1,[-2,2]);hold on,ezplot(g2,[-2,2]);hold off-2-1.5-1-0.500.51 1.5211.522.533.544.55x x 2+1g1和g2交点的x 值大概为1.5。
实验四 MATLAB符号运算
实验报告实验名称MATLAB数值运算指导教师魏永生专业光信班级14物81姓名达旭琦学号 *********实验四MATLAB符号运算一、实验目的掌握符号变量和符号表达式的创建,掌握MATLAB的symbol工具箱的一些基本应用。
二、实验内容(1) 符号变量、表达式、方程及函数的表示。
(2) 符号微积分运算。
(3) 符号表达式的操作和转换。
(4) 符号微分方程求解。
三、实验步骤1. 符号运算的引入>> f=sym('sin(pi*x)/x')f =sin(pi*x)/x>> limit(f,'x',0)ans =Pi2. 符号常量、符号变量、符号表达式的创建1) 使用sym( )创建> A=sym('1')A =1>> B=sym('x')B =x>> f=sym('2*x^2+3*y-1')f =2*x^2+3*y-1>> clear>> f1=sym('1+2')f1 =1+2>> f2=sym(1+2)f2 =3>> f3=sym('2*x+3')f3 =2*x+3>> f4=sym(2*x+3)f4 =52) 使用syms 创建>> clear>> syms x y z>> x,y,zx =xy =yz =z>> f1=x^2+2*x+1f1 =x^2+2*x+1>> f2=exp(y)+exp(z)^2f2 =exp(y)+exp(z)^2>> f3=f1+f2f3 =x^2+2*x+1+exp(y)+exp(z)^2>> f1=sym('x^2+y+sin(2)')f1 =x^2+y+sin(2)>> syms x y>> f2=x^2+y+sin(2)f2 =x^2+y+4095111552621091/4503599627370496>> x=sym('2'),y=sym('1')x =2y =1>> f3=x^2+y+sin(2)f3 =26613109689473571/4503599627370496>> y=sym('w')y =w>> f4=x^2+y+sin(2)f4 =22109510062103075/4503599627370496+w思考题:syms x 是不是相当于x=sym('x')?理解:这两个式子是不相同的。
MATLAB实验报告3-符号运算
F =
((x - 1)^3 - 5)/(2*(x - 1)^2 + 7)
2)
>> clear
>> syms x y;
>> g=(x^3*y-5*y)/(2*x^2+7);
>> gxy=diff(diff(g,x),y);
>> G=subs(gxy,{x},{x-1})
>> int(y)
ans =
log(x + 1)
>> int(y,0,1)
ans =
log(2)
>> syms t;
>> int(y,0,t)
ans =
log(t + 1)
>> clear
>> syms x y;
>> z=sin(y)/(x^2*y+1);
>> int(z,-inf,+inf)
ans =
8.积分中值定理:设 ,存在 ,使得 .检验存在 ,使得 .
四、实验步骤和运行结果(如运行有错误,请指出)
1.
>> syms u v x;
>> f=sqrt(1+u^2);
>> g=log(v);
>> h=exp(-x);
>> p=compose(g,h)
p =
log(exp(-x))
>> compose(f,p)
(pi*sin(y))/y^(1/2)
实验三MATLAB的符号运算
实验三 MATLAB 的符号运算一 实验目的:1.掌握符号对象的创建及符号表达式化简的基本方法;2.掌握符号微积分、符号方程的求解的基本方法。
二 实验装置:计算机三 实验内容:1.符号对象的创建(1) 建立符号变量使用sym 函数把字符表达式'2*sin(x)*cos(x)'转换为符号变量。
2.符号表达式的化简(1)因式分解对表达式f=x 3-1 进行因式分解。
(2) 符号表达式的展开对符号表达式f=cos(x+y)进行展开。
(3)符号表达式的同类项合并对于表达式f=(2x 2*(x+3)-10)*t ,分别将自变量x 和t 的同类项合并。
(4)符号表达式的化简(5)符号表达式的分式通分对表达式 进行通分。
(6)符号表达式的替换用新变量替换表达式a+b 中变量b 。
3.符号微积分(1) 符号极限计算表达式 的极限。
(2)符号微分计算表达式f=sinx 的微分。
(3)符号积分。
例:简化32381261+++=xx x f 22x y y x f +=xtgx x lim 0→()⎰+dzz x31计算表达式 的积分。
(4)符号求和计算表达式 4.符号方程的求解求解代数方程组 四 实验要求:1.按照要求预习实验;2.在MATLAB 中运行实验程序验证仿真结果;3. 按照要求完成实验报告。
.10005∑k⎪⎩⎪⎨⎧=--=-+=+-043035218472z y x z y x z y x。
四MATLAB符号运算
实验四 MATLAB符号运算一.实验目的掌握符号变量和符号表达式的创建,掌握matlab的symbol工具箱的一些基本应用。
二.实验内容(1)符号变量、表达式、方程及函数的表示。
(2)符号为积分运算。
(3)符号表达式的操作和转换。
(4)符号微分方程求解。
三.实验步骤1.符号运算的引入在数值运算中如果求lim(sin(pi*x)/x(x-0),则可以不断让x趋近0,一球的表达式趋近什么数,但是终究不能令x=0,在数值运算中0不能做除数。
Matlab的符号运算能解决这类问题。
输入如下命令:>> f=sym('sin(pi*x)/x')f =sin(pi*x)/x>> limit(f,'x',0)ans =pi2.符号常量、符号变量、符号表达式的创建1)使用sym()创建输入以下命令,观察workspace中a,b,f是什么类型的数据,占用多少字节的内存空间。
>> a=sym('1')a =1>> b=sym('x')b =x>> f=sym('2*x^2+3*y-1')f =2*x^2+3*y-1>> clear>> f1=sym('1+2'),f2=sym(1+2),f3=sym('2*x+3'),f4=sym(2*x+3)f1 =1+2f2 =3f3 =2*x+3??? Undefined function or variable 'x'.>> x=2,f4=sym(2*x+3)x =2f4 =7Sym()的参数可以是字符串或数值类型,无论你是哪种类型都会生成符号类型数据。
2)使用syms创建>> clear>> syms x y z>> x,y,zx =xy =yz =z>> f1=x^2+2*x+1f1 =x^2+2*x+1>> f2=exp(y)+exp(z)^2f2 =exp(y)+exp(z)^2>> f3=f1+f2f3 =x^2+2*x+1+exp(y)+exp(z)^2用符号类型的变量经过运算(加减乘除)得到。
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的符号运算
④计算所需的时间较长。
• Symbolic Math Toolbox——符号运算工具包通过调用
Maple软件实现符号计算的。
• Maple软件——主要功能是符号运算,它占据符号软件
的主导地位。
2. 字符串与符号变量、符号常量
字符串对象 f = 'sin(x)+5x'
由符号变量构成的符号函数和 符号方程
• 符号表达式是由符号常量、符号变量、符号函
数运算符以及专用函数连接起来的符号对象。
• 包括:符号函数和符号方程。判断看带不带等
号。 例:syms x y z; f1=x*y/z;
f2=x^2+y^2+z^2; f3=f1/f2;
e1=sym('a*x^2+b*x+c')
factor(x^3-y^3)
• simplify( ) 该函数是一个强有力的具有
普遍意义的工具,它利用Maple化简规则 对表达式进行简化。
例:S=sym('[(x^2+5*x+6)/(x+2);sqrt(16)]')
simplify(S)
• simple( ) 用几种不同的算术简化规则对
符号表达式进行简化,使其用最少的字 符来表示。
行是自变量 x 的取值范围和常数 a 的值。
• 第四行只对 f 起作用,如求导、积分、简
化、提取分子和分母、倒数、反函数。
• 第五行是处理 f 和 a 的加减乘除等运算。
• 第六行前四个进行 f 和 g 之间的运算,后
三个分别是:求复合函数;把 f 传递给 ; swap是实现 f 和 g 功能的交换。
第三章_MATLAB的符号运算
%创建符号表达式
符号运算与数值运算的区别主要有以下几点: A 传统的数值型运算因为要受到计算机所保留的有效位数的限制,它的内部表示法总是采 用计算机硬件提供的 8 位浮点表示法, 因此每一次运算都会有一定的截断误差, 重复的多次 数值运算就可能会造成很大的累积误差。 符号运算不需要进行数值运算, 不会出现截断误差, 因此符号运算是非常准确的。 B 符号运算可以得出完全的封闭解或任意精度的数值解。 C 符号运算的时间较长,而数值型运算速度快。 3.2.1 提取分子分母 如果符号表达是有理分式形式或可展开为有理分式形式,则可通过函数 numden 来提取符号 表达式中的分子分母。numden 函数的调用形式如下: [n,d]=numden(a) 提取符号表达式 a 的分子与分母,并分别将其存放在 n 与 d 中 n=numden(a) 提取符号表达式 a 的分子与分母,但只把分子存放在 n 中 例 提取符号表达式的分子与分母 >> f=sym('a*x^2/(b-x)'); [n,d]=numden(f) n= -a*x^2 d= -b+x 3.2.2 符号表达式的基本代数运算 符号表达式的加、减、乘、除四则运算及幂运算等基本的代数运算,与矩阵的数值运算几乎 完全一样。 其中, 符号表达式的加、 减、 乘、 除运算可分别有函数 symadd、 symsub、 symmul、 symdiv 来实现,也可与矩阵的数值运算一样,用“+” 、 “-” 、 “×” 、 “÷”符号进行运算, 而符号表达式的幂运算也可以由函数 sympow 来实现,也可以由幂运算符“^”来实现。 例 >> f='4*x+5'; g='2*x^2+5*x+6'; symadd(f,g) ans = 9*x+11+2*x^2 symsub(f,g) ans = -x-1-2*x^2 symmul(f,g) ans =
第三章 MATLAB符号运算
第3章 MATLAB符号计算符号计算则是可以对未赋值的符号对象(可以是常数、变量、表达式)进行运算和处理。
MATLAB具有符号数学工具箱(Symbolic Math Toolbox),将符号运算结合到MATLAB的数值运算环境。
符号数学工具箱是建立在Maple软件基础上的。
3.1 符号表达式的建立3.1.1 创建符号变量和表达式Symbolic Math Toolbox规定在进行符号计算时,首先要定义基本的符号对象然后才能进行符号运算。
创建符号变量和符号表达式可以使用sym和syms命令。
1. 使用sym命令创建符号变量和表达式语法:sym(‘变量’,参数) %把变量定义为符号对象2.使用syms命令创建符号变量和符号表达式语法:syms(‘arg1’, ‘arg2’, …,参数) %把字符变量定义为符号变量syms arg1 arg2 …,参数%把字符变量定义为符号变量的简洁形式说明:syms用来创建多个符号变量,这两种方式创建的符号对象是相同的。
参数设置和前面的sym命令相同,省略时符号表达式直接由各符号变量组成。
说明:参数用来设置限定符号变量的数学特性,可以选择为’positive’、’real’和’unreal’,’positive’表示为“正、实”符号变量,’real’表示为“实”符号变量,’unreal’表示为“非实”符号变量。
如果不限定则参数可省略。
【例3.1】创建符号变量,用参数设置其特性。
>> syms x y real %创建实数符号变量>> z=x+i*y; %创建z为复数符号变量>>real(z) %复数z的实部是实数xans =x【例3.2】创建符号表达式。
>> f1=sym('a*x^2+b*x+c')f1 =a*x^2+b*x+c【例3.3】使用syms命令创建符号变量和符号表达式。
>> syms a b c x %创建多个符号变量>>f2=a*x^2+b*x+c %创建符号表达式f2 =a*x^2+b*x+c3.1.2符号表达式的代数运算符号运算与数值运算的区别主要有以下几点:▪传统的数值型运算因为要受到计算机所保留的有效位数的限制,它的内部表示法总是采用计算机硬件提供的8位浮点表示法,因此每一次运算都会有一定的截断误差,重复的多次数值运算就可能会造成很大的累积误差。
MATLAB的符号运算
10
③ 符号对象与数值对象的转换
将数值对象转化为符号对象 函数调用格式:sym(A) A=[1/3,2.5;1/0.7,2/5]
A=
0.3333 2.5000 1.4286 0.4000
sym(A)
ans = [ 1/3, 5/2] [10/7, 2/5]
2013年8月6日12时46
4
2. 符号变量与符号表达式
syms v1 v2 v3 … vn
—— 定义符号变量 名
syms x f = sin(x)+5*x
f —— 符号变量(矩阵) sin(x)+5*x —— 符号表达式
2013年8月6日12时46
5
3.符号对象的创建
数值矩阵A=[1,2;3,4] A=[a,b;c,d] —— 不识别
11
将符号对象转化为数值对象
函数调用格式: numeric(A) A= [ 1/3, 5/2] [10/7, 2/5]
numeric(A)
ans = 0.3333 2.5000 1.4286 0.4000
2013年8月6日12时46
12
二、符号运算
1.符号对象运算 数值运算中,所有对象运算操作指 令都比较直观、简单。例如:a=b+c; a=a*b ;A=2*a^2+3*a-5等。
ans = cos(x)/sin(2*x)+cos(x)*sin(2*x)
x=pi/4;subs(ans)
ans = 1.4142 2013年8月6日12时46
15
例1 f= 2*x^2+3*x-5; g= x^2+x-7;
syms x f=2*x^2+3*x-5; g= x^2+x-7; h=f+g h= 3*x^2+4*x-12 例2 f=cos(x);g= sin(2*x); syms x f=cos(x);g=sin(2*x); f/g+f*g ans = cos(x)/sin(x)+cos(x)*sin(x)
实验 MATLAB符号运算功能
实验3 MATLAB 符号运算功能实验目的:掌握MATLAB 符号运算功能的基本使用方法1.符号矩阵的建立及符号矩阵的运算;2.符号矩阵的简化;3.符号矩阵的极限和微积分;4.代数方程求解;5.一元函数图象简易画法.实验内容:1. 设)1()(--=x e x x g x1) 将)(x g 写成MATLAB 符号表达式;2) 求出符号表达式)('x g ;3) 利用"subs "命令求出)4(g 和)4('g ;4) 利用"plot "命令画出函数)(x g 在区间[-3,3]上的光滑图象;5) 利用"ezplot "命令画出函数)(x g 在区间[-3,3]上的图象并与4)所得结果进行比较.比较.运行命令:syms x;g=[x*(exp(x)-x-1)] diff(g)G=subs(g,[4])G1=subs(diff(g),4)x=-3:0.01:3;y=x.*(exp(x)-x-1);plot(x,y)ezplot(g,[-3,3])程序运行结果:g =x*(exp(x)-x-1)ans =exp(x)-x-1+x*(exp(x)-1)G =198.3926G1 =263.99082. 设)1()(1--=x e x x g x ,1)(22+=x x g1)利用"ezplot "命令画图估计函数)(1x g 与)(2x g 图象交点的x 值;2) 利用"solve "命令求出函数)(1x g 与)(2x g 图象交点处x 的精确值.3. 说明下面程序中每个命令的作用:syms x hf = exp(sin(x))m = (subs(f, x+h)-f)/hf1 = limit(m, h, 0)subs(f1, pi)X = -10:.05:10;F = subs(f, X);F1 = subs(f1, X);plot(X, F, ’b’, X, F1, ’r’)解释程序运行的结果.4. 设)3cos ()(+-=x e x x f x1) 利用定积分的定义(无限求和)计算⎰30)(dx x f 的近似值(有限求和),改变求和的项数对结果的变化进行比较;2) 利用符号积分的命令"int "计算⎰30)(dx x f 的值,并与1)所得结果进行比较。
MATLAB实验报告03203
实验报告课程名称 MATLAB基础及应用专业班级电子xxxx姓名学号电气与信息学院实验二 MATLAB数值计算(一)一实验目的:1.掌握数组的创建与运算方法;2. 掌握矩阵的创建与运算方法;3. 掌握数组的运算方法和矩阵运算方法的区别;4.掌握线性方程的求解方法二实验装置:计算机三实验内容:1.数组的创建和运算创建两个含5个元素的一维数组,并求这两个数组的四则运算。
2.矩阵的创建和运算(1)创建两个3×3的矩阵,并求这两个矩阵的四则运算。
(2)创建一个4×4的矩阵,并求这个矩阵的行列式值。
(3)线性方程的求解解方程组⎥⎥⎥⎦⎤⎢⎢⎢⎣⎡=⎥⎥⎥⎦⎤⎢⎢⎢⎣⎡6613753467294x。
四实验要求:写出实验程序与仿真结果。
1. >> a=linspace(2,10,5)a =2 4 6 8 10>> b=linspace(1,9,5)b =1 3 5 7 9>> a+bans =3 7 11 15 19>> a-bans =1 1 1 1 1>> a.*bans =2 12 30 56 90ans =2.0000 1.3333 1.2000 1.1429 1.1111>> a.\bans =0.5000 0.7500 0.8333 0.8750 0.90002.(1) >> a=[1 1 1;2 2 2;3 3 3];>> b=[4 4 4;5 5 5;6 6 6];>> a+bans =5 5 57 7 79 9 9>> a-bans =-3 -3 -3-3 -3 -3-3 -3 -3>> a*bans =15 15 1530 30 3045 45 45>> a/bWarning: Matrix is singular to working precision.ans =NaN NaN NaNNaN NaN NaNNaN NaN NaN>> a\bWarning: Matrix is singular to working precision.ans =NaN NaN NaNNaN NaN NaNInf Inf Inf(2).>> a=[1 1 1 1;2 2 2 2;3 3 3 3;4 4 4 4];>> det(a)ans =(3).>> a=[4 9 2;7 6 4;3 5 7];>> b=[13;6;6];>> x=inv(a)*bx =1.7109-0.1374实验三 MATLAB数值计算(二)一实验目的:1.掌握多项式的创建与运算方法;2. 掌握基本的数据分析方法;二实验装置:计算机三实验内容:1.多项式创建输入系数矢量,创建多项式x^3-2*x^2+5*x+3。
MATLAB原理应用实验报告第三章(符号运算)
《MATLAB原理及应用》实验报告第三章MATLAB的符号运算一.实验目的1、掌握符号对象的命名方法2、掌握符号表达式的基本运算3、掌握符号级数的求法二.实验设备计算机、MATLAB软件三.实验内容1.确定符号表达式的变量为了简化符号对象的操作和计算,MATLAB为用户提过了findsym命令。
r=findsym(S)确定符号表达式或者矩阵S中自由符号变量r=findsym(S,n)确定符号表达式或者矩阵S中靠近x最近的n个独立符号变量。
【实验3-1】使用MA TLAB的命令确定符号表达式的变量。
在MATLAB的命令窗口中输入下例内容:>> syms a x y z t确定下面简单符号表达式中的符号变量信息:>>findsym(sin(pi*t))ans =t确定下面简单符号表达式中的符号变量信息:>>findsym(x+i*y-j*z)ans =x, y, z确定下面简单符号表达式中的符号变量信息:>>findsym(a+y,1)ans =y2.符号表达式元算1.符号表达式的四则运算表达式的四则运算与数字运算一样,用+、-、/、运算符实现,其运算结果依然是一个符号表达式。
【实验3-2】在MATLAB的命令窗口中输入下例内容:>>f=sym('2*x^2+3*x-5');%定义符号表达式g=sym('x^2-x+7');f+gans =3*x^2+2*x+2ans =3*x^2+2*x+2>> f^gans =(2*x^2+3*x-5)^(x^2-x+7)3.符号表达式的提取分子和分母运算如果符号表达式是一个有理分式或可以展开为有理分式,可以可利用numden函数来提取符号表达式的分子或分母。
期一般调用格式为[n,d]=numden函数来提取符号表达式该函数提取的符号表达式s的分子和分母,分别将它们存放在n和d中。
3-1 Matlab矩阵、数组和符号运算
第3章 矩阵、数组和符号运算 章 矩阵、
>> x x= 0 0.5000 1.0000 1.5000 2.0000
% x=linspace(a,b,n) 生成有 n 个元素的行向量 x,其元素值在 a、 , 、 b 之间线性分布。 之间线性分布。
第3章 矩阵、数组和符号运算 章 矩阵、
c.利用 文件产生矩阵 利用M文件产生矩阵 利用
A=[1,2,3,4,5 6,7,8,9,10 11,12,13,14,15 16,17,18,19,20 21,22,23,24,25]
第3章 矩阵、数组和符号运算 章 矩阵、
d.从外部数据文件调入矩阵 用load命令输入 用Import 菜单输入
>> Z=zeros(2,4) Z= 0 0 0 0 0 0 0 0 0 0 0 0 0 1
% eye 生成单位阵
0 0 0 1 0 0 0 0 0 0 1 0
% rand 生成均匀分布的随机矩阵
>> R=rand(4) R= 0.9501 0.8913 0.2311 0.7621 0.6068 0.4565 0.4860 0.0185 0.8214 0.4447 0.6154 0.7919 0.9218 0.7382 0.1763 0.4057
第3章 矩阵、数组和符号运算 章 矩阵、
>> A=[1,2,3,4;5,6,7,8;9,10,11,12;13,14,15,16] A= 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
利用表达式输入
>> B=[1,sqrt(25),9,13 2,6,10,7*2 3+sin(pi),7,11,15 4,abs(-8),12,16] B= 1 5 9 13 2 6 10 14 3 7 11 15 4 8 12 16
MATLAB第三章数值数组及其运算
行向量
如:array=[2, pi/2, sqrt(3), 3+5i]
x=[1,2,3,4,5都已知.如对 少量实验数据的处理可用此种方法.
4
(2) 冒号生成法: array=a: inc: b
<向量>
a---数组的第一个元素
inc---采样点之间的间隔, 即步长. 最后一个元素不一定等于b, 其大小为b’=a +inc*[(b-a)/inc]; 步长可以省略, 默认为 1; inc可以取正数或负数, 但要注意当取正时,要保证b>a, 数 组最后一个元素不超过b, 取负时b<a, 最后一个元素不小于b.
(2) 数值计算解法
delt=0.01; x=0:delt:4;
y=exp(-sin(x));
sx=delt*cumtrapz(y);
plot(x,y, 'r', 'LineWidth', 6); hold on;
plot(x, sx, '.b', 'MarkerSize', 15);
plot(x, ones(size(x)), 'k');
a inc>0 b
b inc>0 a
特点: 等差数列
方便对数据之间的间隔(步长)进行控制.但要注意三个数值之 间的关系,可能得到空数组.另外要注意生成的数组的元素的 个数.如x=a: (b-a)/n :b (b>a)得到n+1个元素的数组.
5
x=1:5x=[1,2,3,4,5]
y=5:-1:1y=[5, 4, 3, 2, 1]
2. 在命令窗中输入MyMatrix
11
3.5 二维数组的标识 (mxn, m>1, n>1)
MATLAB实验报告
MATLAB实践报告2016/2017学年第一学期专业:电气工程及其自动化班级:学号:姓名:2017年 2 月目录第1章绪论 (1)1.1 Matlab简介 (1)1.2 Matlab语言特点及优势 (1)1.2.1 语言特点 (1)1.2.2 优势 (2)1.3 Matlab的功能 (5)第2章Matlab实践任务 (6)2.1实验一Matlab环境语法、基本运算及绘图 (6)2.1.1实验目的 (6)2.1.2实验原理 (6)2.1.3实验内容 (6)2.2实验二Matlab数值运算 (10)2.2.1实验目的 (10)2.2.2实验原理 (10)2.2.3实验内容 (10)2.3实验三Matlab的符号计算 (19)2.3.1实验目的 (19)2.3.2实验内容 (19)2.4实验四Matlab基本编程方法 (23)2.4.1实验目的 (23)2.4.2实验内容 (23)第3章小结 (27)参考文献 (28)第1章绪论1.1 Matlab简介Matlab是“Matrix Laboratory”的缩写,意为“矩阵实验室”,是当今美国很流行的科学计算软件.信息技术、计算机技术发展到今天,科学计算在各个领域得到了广泛的应用.在许多诸如控制论、时间序列分析、系统仿真、图像信号处理等方面产生了大量的矩阵及其相应的计算问题.自己去编写大量的繁复的计算程序,不仅会消耗大量的时间和精力,减缓工作进程,而且往往质量不高.美国Mathwork软件公司推出的Matlab软件就是为了给人们提供一个方便的数值计算平台而设计的.Matlab是一个交互式的系统,它的基本运算单元是不需指定维数的矩阵,按照IEEE的数值计算标准(能正确处理无穷数Inf(Infinity)、无定义数NaN(not-a-number)及其运算)进行计算。
系统提供了大量的矩阵及其它运算函数,可以方便地进行一些很复杂的计算,而且运算效率极高。
Matlab命令和数学中的符号、公式非常接近,可读性强,容易掌握,还可利用它所提供的编程语言进行编程完成特定的工作。
【VIP专享】matlab符号运算实验报告
>> M2='[a,b;c,d]';
>> M3=sym('[a,b;c,d]');
M1 =
M2 =
[a,b;c,d]Biblioteka M3 =[ a, b]
[ c, d]
12
34
2.下面语句计算出来的 c1,c2 相等吗,为什么?上机验证。
>> a1=1e10; b1=1e-10;
>> c1=(a1+b1-a1)/b1;
>> a2=sym(a1); b2=sym(b1);
c1=0
6.培养学生观察、思考、对比及分析综合的能力。过程与方法1.通过观察蚯蚓教的学实难验点,线培形养动观物察和能环力节和动实物验的能主力要;特2征.通。过教对学观方察法到与的教现学象手分段析观与察讨法论、,实对验线法形、动分物组和讨环论节法动教特学征准的备概多括媒,体继课续件培、养活分蚯析蚓、、归硬纳纸、板综、合平的面思玻维璃能、力镊。子情、感烧态杯度、价水值教观1和.通过学理解的蛔1虫.过观适1、察于程3观阅 六蛔寄.内列察读 、虫生出蚯材 让标容生3根常蚓料 学本教活.了 据见身: 生,师的2、解 问的体巩鸟 总看活形作 用蛔 题线的固类 结雌动态业 手虫 自形练与 本雄学、三: 摸对 学动状习人 节蛔生结4、、收 一人 后物和同类 课虫活构请一蚯集 摸体 回并颜步关 重的动、学、蚓鸟 蚯的 答归色学系 点形教生生让在类 蚓危 问纳。习从 并状学理列学平的害 题线蚯四线人 归、意特出四生面体以形蚓、形类 纳大图点常、五观玻存 表及动的鸟请动文 本小引以见引、察璃现 ,预物身类 3学物明 节有言及的、导巩蚯上状 是防的体之生和历 课什根蚯环怎学固蚓和, 干感主是所列环史 学么据蚓节二样生练引牛鸟 燥染要否以举节揭 到不上适动、区回习导皮类 还的特分分蚯动晓 的同节于物让分答。学纸减 是方征节布蚓物起 一,课穴并学蚯课生上少 湿法。?广的教, 些体所居归在生蚓前回运的 润;4泛益学鸟色生纳.靠物完的问答动原 的4蛔,处目类 习和活环.近在成前题蚯的因 ?了虫以。标就 生体的节身其实端并蚓快及 触解寄上知同 物表内特动体结验和总利的慢我 摸蚯生适识人 学有容点物前构并后结用生一国 蚯蚓在于与类 的什,的端中思端线问活样的 蚓人飞技有 基么引进主的的考?形题环吗十 体生行能着 本特出要几变以动,境?大 节活的1密 方征本“特节化下物.让并为珍 近习会形理切 法。课生征有以问的小学引什稀 腹性态解的 。2课物。什游题主.结生出么鸟 面和起结蛔关观题体么戏:要利明蚯?类 处适哪构虫系察:的特的特用确蚓等 ,于些特适。蛔章形殊形征板,这资 是穴疾点于可虫我态结式。书生种料 光居病是寄的们结构,五小物典, 滑生?重生鸟内学构,学、结的型以 还活5要生类部习与.其习巩鸟结的爱 是如原活生结了功颜消固类构线鸟 粗形何因的存构腔能色化练适特形护 糙态预之结的,肠相是系习于点动鸟 ?、防一构现你动适否统。飞都物为结蛔。和状认物应与的行是。主构虫课生却为和”其结的与题、病本理不蛔扁的他构特环以生?8特乐虫形观部特8征境小理三页点观的动位点梳相组等、这;,哪物教相,理适为方引些2鸟,育同师.知应单面导鸟掌类结了;?生识的位学你握日构解2互.。办特生认线益特了通动手征观识形减点它过,抄;察吗动少是们理生报5蛔?物,与的解.参一了虫它和有寄主蛔与份解结们环些生要虫其。蚯构都节已生特对中爱蚓。会动经活征人培鸟与飞物灭相。类养护人吗的绝适这造兴鸟类?主或应节成趣的为要濒的课情关什特临?就危感系么征灭来害教;?;绝学,育,习使。我比学们它生可们理以更解做高养些等成什的良么两好。类卫动生物习。惯根的据重学要生意回义答;的3.情通况过,了给解出蚯课蚓课与题人。类回的答关:系线,形进动行物生和命环科节学动价环值节观动的物教一育、。根教据学蛔重虫点病1.引蛔出虫蛔适虫于这寄种生典生型活的线结形构动和物生。理二特、点设;置2.问蚯题蚓让的学生生活思习考性预和习适。于穴居生活的形态、结构、生理等方面的特征;3.线形动物和环节动物的主要特征。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
《MATLAB原理及应用》实验报告第三章MATLAB的符号运算一.实验目的1、掌握符号对象的命名方法2、掌握符号表达式的基本运算3、掌握符号级数的求法二.实验设备计算机、MATLAB软件三.实验内容1.确定符号表达式的变量为了简化符号对象的操作和计算,MATLAB为用户提过了findsym命令。
r=findsym(S)确定符号表达式或者矩阵S中自由符号变量r=findsym(S,n)确定符号表达式或者矩阵S中靠近x最近的n个独立符号变量。
【实验3-1】使用MA TLAB的命令确定符号表达式的变量。
在MATLAB的命令窗口中输入下例内容:>> syms a x y z t确定下面简单符号表达式中的符号变量信息:>>findsym(sin(pi*t))ans =t确定下面简单符号表达式中的符号变量信息:>>findsym(x+i*y-j*z)ans =x, y, z确定下面简单符号表达式中的符号变量信息:>>findsym(a+y,1)ans =y2.符号表达式元算1.符号表达式的四则运算表达式的四则运算与数字运算一样,用+、-、/、运算符实现,其运算结果依然是一个符号表达式。
【实验3-2】在MATLAB的命令窗口中输入下例内容:>>f=sym('2*x^2+3*x-5');%定义符号表达式g=sym('x^2-x+7');f+gans =3*x^2+2*x+2ans =3*x^2+2*x+2>> f^gans =(2*x^2+3*x-5)^(x^2-x+7)3.符号表达式的提取分子和分母运算如果符号表达式是一个有理分式或可以展开为有理分式,可以可利用numden函数来提取符号表达式的分子或分母。
期一般调用格式为[n,d]=numden函数来提取符号表达式该函数提取的符号表达式s的分子和分母,分别将它们存放在n和d中。
【实验3-3】在MA TLAB的命令窗口中输入下例内容:>> f= sym('a*x/(b+x)');>> [n,d]=numden(f)n =a*xd =b+xnumden函数在提取各部分之前,将符号表达式有利化后返回所得分子和分母 >> g=sym('(x^2+3)/(2*x-1)+3*x/(x+1)');>> [n,d]=numden(g)n =x^3+7*x^2+3d =(2*x-1)*(x+1)如果符号表达式是一个符号矩阵,numden返回两个新矩阵n和d,其中n 是分子矩阵,d是分母矩阵。
>> h=sym('[3/2,(2*x+1)/3;a/x+a/y,x+4]')h =[ 3/2, (2*x+1)/3][ a/x+a/y, x+4]>> [n,d]=numden(h)n =[ 3, 2*x+1][ a*(y+x), x+4]d =[ 2, 3][ x*y, 1]4.符号表达式的因式分解与展开MATLAB提供了符号表达式分解与展开的函数,函数的调用格式为①factor(s) :对符号表达式s分解因式。
②expand(s):对符号表达式s进行展开。
③collect(s):对符号表达式s进行合并同类型。
④collect(S,v) 将表达式S中相同次幂的合并,v的默认值是x【实验3-4】>> syms x y下面简单符号表达式s1因式分解>> s1=x^3-y^3;>> factor(s1)ans =(x-y)*(x^2+x*y+y^2)下面简单符号表达式s2进行展开>> s2=(-7*x^2-8*y^2)*(-x^2+3*y^2);>> expand(s2)ans =7*x^4-13*x^2*y^2-24*y^4下面简单符号表达式s3按变量y合并同类型>> s3=(x+y)*(x^2+y^2+1);>> collect(s3,y)ans =y^3+x*y^2+(x^2+1)*y+x*(x^2+1)下面简单符号整数分解因式>> factor(sym(630))ans =(2)*(3)^2*(5)*(7)5.符号表达式的化简MATLAB提供的对符号表达式化简的函数如下Simplify(s) ;应用MuPAD简化规则对s进行化简。
Simple(s):调用MA TLAB的其他函数对表达式进行综合化简,并显示化简过程。
【实验3-5】在MATLAB的命令窗口中输入下例内容:>> s=sym('(x^2+5*x+6)/(x+2)');>> simplify(s)ans =x+3>> s=sym('[2*cos(x)^2-sin(x)^2,sqrt(16)]');>> simplify(s)ans =[ 3*cos(x)^2-1, 4]函数simple试用了几种不同的化简工具,然后选择在结果表达式中含有最少字符的那种形式。
下面是表达式cos(3arccos(x))的化简结果>> s=sym('cos(3*acos(x))');>> simple(s) %自动调用多种函数对s 化简,并显示每步结果显示一系列化简过程后,最后显示化简结果ans =4*x^3-3*x6.级数符号求和求无穷级数的和需要符号表达式求和函数symsum,其调用格式为Symsum(s,v,,n,m)其中s 表示一个级数的通项,是一个符号表达式。
v 是求和变量,v 省略时使用系统的默认变量。
n 和m 是求和的开始项和末项。
【实验3-6】求 +++++222131211k在MA TLAB 的命令窗口中输入下例内容:>> syms k>> symsum(1/k^2,k,1,inf)ans =1/6*pi^2>> eval(ans)ans =1.64497.符号微积分1.符号的积分符号积分由函数int 来实现,一般调用格式如下。
int(s):没有指定积分变量和积分阶数时,int(s,v): 义v 为自变量,对被积函数或符号表达式求不定积分。
int(s,v,a,b): 求定积分运算,a,b 分别表示定积分的上下限。
求函数的定积分【实验3-6】(1)dx x ⎰cos在MA TLAB 的命令窗口中输入下例内容:>> f=sym('cos(x)');>> int(f)ans =sin(x) 2.符号的微分diff 函数用于对符号表达式求导数,一般调用格式如下。
diff(s) :按findsym 函数指示的默认变量对符号表达式s 求一阶导数。
diff(s ,’v ’) :以v 为自变量,对符号表达式s 求一阶导数。
diff(s ,n) :按findsym 函数指示的默认变量对符号表达式s 求n 阶导数。
diff(s,’v’,n) ::以v为自变量,对符号表达式s求n阶导数。
【实验3-7】已知f(x)=ax2+bx+c,求f(x)的微分。
在MA TLAB的命令窗口中输入下例内容:>> f=sym('a*x^2+b*x+c');>> diff(f)ans =2*a*x+b8.符号方程的求解在MATLAB中,求解用符号表达式表示的代数方程可以用solve实现,其调用格式如下:solve(s):求解符号表达式s的代数方程,求解变量为默认变量。
solve(s,v):求解符号表达式s的代数方程,求解变量为vSolve (s1,s2…sn,v1,v2 …vn):求解符号表达式s1,s2…sn组成的代数方程,求解变量分别为v1,v2 …vn。
【实验3-8】求方程x2+2x+1=0的解在MATLAB的命令窗口中输入下例内容:>> f=sym('x^2+2*x+1=0');>> solve(f)ans =-1-19.课后练习题1.提取符号表达式222m z u ar +++的自由变量(当符号表达式中含有多余一个符号变量时,只有一个变量是独立变量,其余的符号当作常量。
如果不指定那一个变量当作是自由变量,matlab 将基于一定原则选择一个自由变量。
) 提示:findsym (s ,n )2.在MATLAB 中计算多项式2352212-+++-x x x x 的父母和分子 (提示:使用[n ,d]=numden (A ))2.1、建立符号函数5332232-+x x (1)提取该表达式的分子和分母,并分别付给两个变量(2)对这两个变量分别进行代数运算(加减乘除及乘方)3.在MA TLAB 中,按照不同的方式合并表达式)()(23x e y x y x ex y y --+*-+的参数类项。
3.1.按t e -来合并表达式))(1(2t t e x xe x --+++的同类项。
4、使用simple 和simplify 两个指令分别化简32381261+++=x x x f ,比较两个结果有什么不同 5.求级数1+x+x 2+…+x k+…和 +⋅⋅+⋅++321211132x x x 的和。
(使用symsum 函数) 6.分别求下例积分(1)dx x ⎰+211 (2)dx x b a ⎰+211 (3)dx x ⎰+212117. 2cos x y = 求'y 、''y 、'''y8. 求三元非线性方程组 ⎪⎩⎪⎨⎧-=⨯=+=++1430122z y zx x x 的解。