当前位置:文档之家› 实验一 基本信号在MATLAB中的表示和运算

实验一 基本信号在MATLAB中的表示和运算

实验一 基本信号在MATLAB中的表示和运算
实验一 基本信号在MATLAB中的表示和运算

实验一 基本信号在MATLAB 中的表示和运算

一、实验目的

1. 学会用MA TLAB 表示常用连续信号的方法;

2. 学会用MA TLAB 进行信号基本运算的方法;

二、实验原理

1. 连续信号的MATLAB 表示

MATLAB 提供了大量的生成基本信号的函数,例如指数信号、正余弦信号。表示连续

时间信号有两种方法,一是数值法,二是符号法。数值法是定义某一时间范围和取样时间间

隔,然后调用该函数计算这些点的函数值,得到两组数值矢量,可用绘图语句画出其波形;

符号法是利用MATLAB 的符号运算功能,需定义符号变量和符号函数,运算结果是符号表

达的解析式,也可用绘图语句画出其波形图。

例1-1指数信号 指数信号在MATLAB 中用exp 函数表示。

如at

Ae t f =)(,调用格式为 ft=A*exp(a*t) 程序是

A=1; a=-0.4;

t=0:0.01:10; %定义时间点

ft=A*exp(a*t); %计算这些点的函数值

plot(t,ft); %画图命令,用直线段连接函数值表示曲线

grid on; %在图上画方格

例1-2 正弦信号 正弦信号在MATLAB 中用 sin 函数表示。

调用格式为 ft=A*sin(w*t+phi)

A=1; w=2*pi; phi=pi/6;

t=0:0.01:8; %定义时间点

ft=A*sin(w*t+phi); %计算这些点的函数值

plot(t,ft); %画图命令

grid on; %在图上画方格

例1-3 抽样信号 抽样信号Sa(t)=sin(t)/t 在MA TLAB 中用 sinc 函数表示。定义为 )/(sin )(πt c t Sa =

t=-3*pi:pi/100:3*pi;

ft=sinc(t/pi);

plot(t,ft);

grid on;

axis([-10,10,-0.5,1.2]); %定义画图范围,横轴,纵轴

title('抽样信号') %定义图的标题名字

例1-4 三角信号 三角信号在MATLAB 中用 tripuls 函数表示。

调用格式为ft=tripuls(t,width,skew),产生幅度为1,宽度为width,且以0为中心左右各展开width/2大小,斜度为skew的三角波。width的默认值是1,skew的取值范围是-1~+1之间。一般最大幅度1出现在t=(width/2)*skew的横坐标位置。

t=-3:0.01:3;

ft=tripuls(t,4,0.5);

plot(t,ft); grid on;

axis([-3,3,-0.5,1.5]);

例1-5虚指数信号调用格式是f=exp((j*w)*t)

t=0:0.01:15;

w=pi/4;

X=exp(j*w*t);

Xr=real(X); %取实部

Xi=imag(X); %取虚部

Xa=abs(X); %取模

Xn=angle(X); %取相位

subplot(2,2,1),plot(t,Xr),axis([0,15,-(max(Xa)+0.5),max(Xa)+0.5]),

title('实部');

subplot(2,2,3),plot(t,Xi),axis([0,15,-(max(Xa)+0.5),max(Xa)+0.5]),

title('虚部');

subplot(2,2,2), plot(t,Xa),axis([0,15,0,max(Xa)+1]),title('模');

subplot(2,2,4),plot(t,Xn),axis([0,15,-(max(Xn)+1),max(Xn)+1]),title('相角');

%subplot(m,n,i) 命令是建立m行n列画图窗口,并指定画图位置i

例1-6复指数信号调用格式是f=exp((a+j*b)*t)

t=0:0.01:3;

a=-1;b=10;

f=exp((a+j*b)*t);

subplot(2,2,1),plot(t,real(f)),title('实部')

subplot(2,2,3),plot(t,imag(f)),title('虚部')

subplot(2,2,2),plot(t,abs(f)),title('模')

subplot(2,2,4),plot(t,angle(f)),title('相角')

例1-7 矩形脉冲信号矩形脉冲信号可用rectpuls函数产生,

调用格式为y=rectpuls(t,width),幅度是1,宽度是width,以t=0为对称中心。

t=-2:0.01:2;

width=1;

ft=2*rectpuls(t,width);

plot(t,ft)

grid on;

例1-8 单位阶跃信号单位阶跃信号u(t)用“t>=0”产生,调用格式为ft=(t>=0) t=-1:0.01:5;

ft=(t>=0);

plot(t,ft); grid on;

axis([-1,5,-0.5,1.5]);

例1-9 正弦信号符号算法

syms t %定义符号变量t

y=sin(pi/4*t) %符号函数表达式

ezplot(y,[-16,16]) %符号函数画图命令

或者

f=sym('sin(pi/4*t)') %定义符号函数表达式

ezplot(f,[-16,16])

例1-10单位阶跃信号MA TTLAB符号数学函数Heaviside表示阶跃信号,但要画图需在工作目录创建Heaviside的M文件

function f=Heaviside(t)

f=(t>0);

保存,文件名是Heaviside ,调用该函数即可画图,例

t=-1:0.01:3;

f=Heaviside(t);

plot(t,f)

axis([-1,3,-0.2,1.2])

或者

y=sym('Heaviside(t)');

ezplot(y,[-1,5]);grid on

2.信号基本运算的MATLAB实现

信号基本运算是乘法、加法、尺度、反转、平移、微分、积分,实现方法有数值法和符号法

例1-11 以f(t)为三角信号为例,求f(2t) , f(2-2t)

t=-3:0.001:3;

ft=tripuls(t,4,0.5);

subplot(3,1,1);

plot(t,ft); grid on;

title ('f(t)');

ft1= tripuls(2*t,4,0.5);

subplot(3,1,2);

plot(t,ft1); grid on;

title ('f(2t)');

ft2= tripuls(2-2*t,4,0.5);

subplot(3,1,3);

plot(t,ft2); grid on;

title ('f(2-2t)');

例1-12 已知f1(t)=sinwt , f2(t)=sin8wt , w=2pi , 求f1(t)+f2(t)和f1(t)f2(t) 的波形图w=2*pi;

t=0:0.01:3;

f1=sin(w*t);

f2=sin(8*w*t);

subplot(211)

plot(t,f1+1,':',t,f1-1,':',t,f1+f2)

grid on,title('f1(t)+f2(t))')

subplot(212)

plot(t,f1,':',t,-f1,':',t,f1.*f2)

grid on,title('f1(t)*f2(t)')

符号算法也可实现上述运算,以信号的微积分运算为例说明符号算法应用

微分的调用格式为 diff(function,’variable’,n)

积分的调用格式为 int(function,’variable’,a,b)

式中function 表示要微分或积分的函数,variable 表示运算变量,n 表示求导阶数,默认值是求一阶导数,a 是积分下限,b 是积分上限,a b 默认是求不定积分。

例1-13 求一阶导数的例题,已知)sin(2

1ax y =,x x x y ln sin 2=

clear

syms a x y1 y2 %定义符号变量a , x ,y1, y2

y1=sin(a*x^2); %符号函数y1

y2=x*sin(x)*log(x); %符号函数y2

dy1=diff(y1,’x’) %无分号直接显示结果

dy2=diff(y2) %无分号直接显示结果

例1-14 求积分的例题,dx x ax x )2(5+-?,?+102)1(dx x xe x

clear

syms a x y3 y4

y3=x^5-a*x^2+sqrt(x)/2;

y4=(x*exp(x))/(1+x)^2;

iy3=int(y3,'x')

iy4=int(y4,0,1)

三、上机实验内容

1. 验证实验原理中程序

2. 画出信号波形

(1))()2()(2t e t f t ε--= (2))]2()()[cos 1()(--+=t t t t f εεπ

3.信号)]2()()[cos 1()(--+=t t t t f εεπ,求)2(t f 、)2(t f -波形

四、实验要求

1. 在MATLAB 中输入程序,验证实验结果,并将实验结果存入指定存储区域。

2. 对于程序设计实验,要求通过对验证性实验的练习,自行编制完整的实验程序,实现对

信号的模拟,并得出实验结果。

3. 在实验报告中写出完整的自编程序,并给出实验结果。

五、思考题

1. 冲击信号与阶跃信号各有什么特点?

2. 如何利用基本信号表示方波、三角波等信号?

实验MATLAB符号运算

实验四 MATLAB 符号运算 一、实验目的 掌握符号变量和符号表达式的创建,掌握MATLAB 的symbol 工具箱的一些基本应用。 二、实验内容 (1) 符号变量、表达式、方程及函数的表示。 (2) 符号微积分运算。 (3) 符号表达式的操作和转换。 (4) 符号微分方程求解。 三、实验步骤 1. 符号运算的引入 在数值运算中如果求x x x πsin lim 0→,则可以不断地让x 接近于0,以求得表达式接近什么数,但是终究不能令0=x ,因为在数值运算中0是不能作除数的。MATLAB 的符号运算能解决这类问题。输入如下命令: >>f=sym('sin(pi*x)/x') >>limit(f,'x',0) >> f=sym('sin(pi*x)/x') f = sin(pi*x)/x >> limit(f,'x',0) ans = Pi 2. 符号常量、符号变量、符号表达式的创建 1) 使用sym( )创建 输入以下命令,观察Workspace 中A 、B 、f 是什么类型的数据,占用多少字节的内存空间。 >> A=sym('1') >> B=sym('x') >> f=sym('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) >> x=1 >> f4=sym(2*x+3) > 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) ??? Undefined function or variable 'x'. >> x=1 x = >> f4=sym(2*x+3) f4 =

实验MATLAB符号计算

实验四符号计算 符号计算的特点:一,运算以推理解析的方式进行,因此不受计算误差积累问题困扰;二,符号计算,或给出完全正确的封闭解,或给出任意精度的数值解(当封闭解不存在时);三,符号计算指令的调用比较简单,经典教科书公式相近;四,计算所需时间较长,有时难以忍受。 在MATLAB中,符号计算虽以数值计算的补充身份出现,但涉及符号计算的指令使用、运算符操作、计算结果可视化、程序编制以及在线帮助系统都是十分完整、便捷的。 MATLAB的升级和符号计算内核Maple的升级,决定着符号计算工具包的升级。但从用户使用角度看,这些升级所引起的变化相当细微。即使这样,本章还是及时作了相应的更新和说明。如MATLAB 6.5+ 版开始启用Maple VIII的计算引擎,从而克服了Maple V计算“广义Fourier变换”时的错误(详见第5.4.1节)。 5.1符号对象和符号表达式 5.1.1符号对象的生成和使用 【例5.1.1-1】符号常数形成中的差异 a1=[1/3,pi/7,sqrt(5),pi+sqrt(5)] % <1> a2=sym([1/3,pi/7,sqrt(5),pi+sqrt(5)]) % <2> a3=sym([1/3,pi/7,sqrt(5),pi+sqrt(5)],'e') % <3> a4=sym('[1/3,pi/7,sqrt(5),pi+sqrt(5)]') % <4> a24=a2-a4 a1 = 0.3333 0.4488 2.2361 5.3777 a2 = [ 1/3, pi/7, sqrt(5), 6054707603575008*2^(-50)] a3 = [ 1/3-eps/12, pi/7-13*eps/165, sqrt(5)+137*eps/280, 6054707603575008*2^(-50)] a4 = [ 1/3, pi/7, sqrt(5), pi+sqrt(5)] a24 = [ 0, 0, 0, 189209612611719/35184372088832-pi-5^(1/2)] 【例5.1.1-2】演示:几种输入下产生矩阵的异同。 a1=sym([1/3,0.2+sqrt(2),pi]) % <1> a2=sym('[1/3,0.2+sqrt(2),pi]') % <2> a3=sym('[1/3 0.2+sqrt(2) pi]') % <3> a1_a2=a1-a2 % a1 = [ 1/3, 7269771597999872*2^(-52), pi] a2 = [ 1/3, 0.2+sqrt(2), pi] a3 = [ 1/3, 0.2+sqrt(2), pi] a1_a2 = [ 0, 1.4142135623730951010657008737326-2^(1/2), 0]

MATLAB符号计算实验报告

实验六符号计算 学院:数计学院班级:1003班姓名:黄晓丹学号:1051020144 一、实验目的 1、了解富符号对象和数值对象之间的差别,以及它们之间的互相转换 2、了解符号运算和数值运算的特点、区别和优缺点 3、掌握符号对象的基本操作和运算,以及符号运算的基本运用 二、实验内容 1、符号常数形成和使用 (1)符号常数形成中的差异 >> a1=[1/3,pi/7,sqrt(5),pi+sqrt(5)] a1 = 0.3333 0.4488 2.2361 5.3777 >> a2=sym([1/3,pi/7,sqrt(5),pi+sqrt(5)]) a2 = [ 1/3, pi/7, sqrt(5),

6054707603575008*2^(-50)] >> a3=sym('[1/3,pi/7,sqrt(5),pi+sqrt(5)]') a3 = [ 1/3, pi/7, sqrt(5), pi+sqrt(5)] >> a24=a2-a3 a24 = [ 0, 0, 0, 189209612611719/35184372088832-pi-5^(1/2)] (2)把字符表达式转化为符号变量 >> y=sym('2*sin(x)*cos(x)') y = 2*sin(x)*cos(x) >> y=simple(y)

y = sin(2*x) (3)用符号计算验证三角等式 >> syms fai1 fai2;y=simple(sin(fai1)*cos(fai2)-cos(fai1)*sin(fai2)) y = sin(fai1-fai2) (4)求矩阵的行列式值、逆和特征值 >> syms a11 a12 a21 a22;A=[a11,a12;a21,a22] A = [ a11, a12] [ a21, a22] >> DA=det(A),IA=inv(A),EA=eig(A) DA =

matlab实验五多项式和符号运算

实验五: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

matlab符号计算实验报告

1. 已知x=6,y=5, 利用符号表达式求z =>> syms x >> z=(x+1)/(sqrt(x+3)-sqrt(y)); >> subs(z,x,5) ans =6/(8^(1/2)-y^(1/2)) >> subs(ans,6) ans = 15.8338 2. 分解因式。 (1)x y -44; >> syms x y >> factor(x^4-y^4) ans =(x-y)*(x+y)*(x^2+y^2) (2)x x x +++642 12575151 >> syms x >> factor(125*x^6+75*x^4+15*x^2+1) ans =(5*x^2+1)^3 3. 化简表达式 (1)sin cos cos sin ββββ-1212; >> syms x y >> f=sin(x).*cos(y)-cos(x).*sin(y); >> sfy1=simple(f) 结果:sfy1 =sin(x-y) (2)x x x +++248321 >> syms x >> f=(4*x^2+8*x+3)/(2*x+1);sfy1=simplify(f) sfy1 =2*x+3 4、求下列极限,将完成实验的程序写到文件sy1.m 中: (1) (2) (3) (4) (5) (1)>> syms x >> F1=atan(x)/(x); >> w=limit(F1) w =1 (2)>> syms x F2=((1+x)/(1-x))^(1/x); >> w=limit(F2) w =exp(2) (3)>> syms x F3=(x.*log(1+x))/(sin(x^2)); >> w=limit(F3) w =1 (4)>> syms x F4=atan(x)/(x); >> w=limit(F4,x,inf) w =0 (5)>> syms x F5=(1/(1-x)-1/(1-x^3)); >> w=limit(F5,x,1) w =NaN 5、求下列函数的导数,将完成实验的程序写到文件sy2.m 中: 1、 >> x = sym('x'); >> y1=(cos(x))^3-cos(3*x); >> diff(y1)ans =-3*cos(x)^2*sin(x)+3*sin(3*x) 2、 >> x = sym('x'); >> y2=x.*sin(x).*(log(x)); >> diff(y2)ans =sin(x)*log(x)+x*cos(x)*log(x)+sin(x) 3、 >> x = sym('x'); >> y3=(x.*exp(x)-1)/sin(x); >> diff(y3) ans =(exp(x)+x*exp(x))/sin(x)-(x*exp(x)-1)/sin(x)^2*cos(x) 4、 x x x x F 1011lim 2??? ??-+=→3 1115lim()11x F x x →=---20sin )1ln(lim 3x x x F x +=→x x F x arctan lim 10→=arctan 4lim x x F x →∞=x x y 3cos cos 13-=x x x y ln sin 2=x xe y x sin 13-=cos x y e x =

实验3 Matlab 符号运算及求函数极值

实验3 Matlab 符号运算及求函数极值一、实验目的和要求 掌握用Matlab软件进行符号运算以及求函数的极值。 二、实验环境 Windows系列操作系统,Matlab软件。 三、实验内容 1.用MATLAB进行符号运算; 2.编程求函数的极值。 四、实验步骤 3.开启软件平台——Matlab,开启Matlab编辑窗口; 4.根据求解步骤编写M文件; 5.保存文件并运行; 6.观察运行结果(数值或图形); 7.根据观察到的结果和体会写出实验报告。 五、示例 1.计算一元函数的极值 例1求 2 2 344 1 x x y x x ++ = ++ 的极值 解首先建立函数关系: s yms x y=(3*x^2+4*x+4)/( x^2+x+1); 然后求函数的驻点: dy=diff(y); xz=solve(dy) xz= [0] [-2] 知道函数有两个驻点x 1=0和x 2 =-2, 接下来我们通过考察函数的图形,则它的极值情况和许多其它特性是一目了然的。而借助MATLAB的作图功能,我们很容易做到这一点。 例2 画出上例中函数的图形

解 syms x y=(3*x^2+4*x+4)/( x^2+x+1); 得到如下图形 ezplot(y) 2.计算二元函数的极值 MATLAB 中主要用diff 求函数的偏导数,用jacobian 求Jacobian 矩阵。 例1 求函数42823z x xy y =-+-的极值点和极值. 首先用diff 命令求z 关于x,y 的偏导数 >>clear; syms x y; >>z=x^4-8*x*y+2*y^2-3; >>diff(z,x) >>diff(z,y) 结果为 ans =4*x^3-8*y ans =-8*x+4*y 即348,84z z x y x y x y ??=-=-+??再求解方程,求得各驻点的坐标。一般方程组的符号解用solve 命令,当方程组不存在符号解时,solve 将给出数值解。求解方程的MA TLAB 代码为:

MATLAB实验——符号运算讲解

实验一符号运算 班级:电气4班姓名:叶元亮学号:B2012052409 一、实验目的 1、了解符号、数值、字符等数据类型的差别 2、了解符号运算的特点、优缺点 3、掌握符号变量的创建和运算,以及其运算的基本应用 4、掌握基本的符号绘图指令 二、实验内容 1、指出下面的 M1,M2,M3 分别是什么,并上机验证。 取a=1、b=2、c=3、d=4,M1=[a,b;c,d],M2='[a,b;c,d]',M3=sym('[a,b;c,d]'); >> a=1,b=2,c=3,d=4 a = 1 b = 2 c = 3 d = 4 >> M1=[a,b;c,d] M1 =

1 2 3 4 >> M2='[a,b;c,d]' M2 = [a,b;c,d] >> M3=sym('[a,b;c,d]') M3 = [ a, b] [ c, d] 结论:M1是矩阵,2是字符串,M3是字符变量。 2、下面2种取值情况下,计算b a b a- + 并赋给相应情况下的c1、c2,问c1、c2相等吗,为什么?上机验证。 (1) a1=1010; b1=10-10; (2)将a1、a2作为符号变量赋给a2、b2; >> a1=1e10; b1=1e-10; >> c1=(a1+b1-a1)/b1 c1 = >> a2=sym(a1); b2=sym(b1); >> c2=(a2+b2-a2)/b2 c2 = 1

结果:c1~=c2,因为c1=0,c2=1,a1、b1是具体的数值,a2、b2是符号变量。 3、符号表达式中自由变量的确定生成符号变量a 、b 、x 、X 、Y 、 k=3、z=a y w c sin +,表达式为 Y k bx azX f )(2++=。 (1)找出f 中的全部自由符号变量 (2)在f 中确定最优先的自由符号变量 (3)在f 中确定2个和3个自由变量时的执行情况 (4)试通过对各符号变量与x 的ASCII 值做绝对差值,分析自 由变量优秀顺序,能得出什么结论? >> syms a b x X Y k=sym('3'); z=sym('c*sqrt(w)+y*sin(a)'); f=a*z*X+(b*x^2+k)*Y; >> findsym(f) ans = X, Y, a, b, c, w, x, y >> findsym(f,1) ans = x >> findsym(f,2) ans = x,y

实验二2MATLAB地符号计算与可视化

实验二MATLAB的符号计算与可视化 1:完成教材实验三第1节“1.创建符号表达式和符号表达式的操作”中(1)-(5)部分的内容,分别用sym和syms创建符号表达式f和g,并对它们进行相关操作,思考每一条命令的作用是什么,并提交命令行和结果; (1)创建符号变量。 ①使用sym命令创建符号表达式: >> f=sym('sin(x)') f = sin(x) >> g=sym('y/exp(-2*t)') g = y*exp(2*t) ②使用syms命令创建符号表达式: >> syms x y t >> f=sym(sin(x)) f = sin(x) >> g=sym(y/exp(-2*t)) g = y*exp(2*t) (2):自由变量的确定:

>> symvar(g) ans = [ t, y] >> symvar(g,1) ans = y >> findsym(g,2) ans = y,t (3):用常数替换符号变量: >> x=0:10; >> y=subs(f,x) y = Columns 1 through 8 0 0.8415 0.9093 0.1411 -0.7568 -0.9589 -0.2794 0.6570 Columns 9 through 11 0.9894 0.4121 -0.5440 练习:用y替换x,查看结果及其数据类型。 z=subs(f,y) z = Columns 1 through 8

0 0.7456 0.7891 0.1407 -0.6866 -0.8186 -0.2758 0.6107 Columns 9 through 11 0.8357 0.4006 -0.5176 >> class(z) ans = double (4):符号对象与数值的转换和任意精度控制: >> f1=subs(f,'5') f1 = sin(5) >> y1=double(f1) y1 = -0.9589 >> y2=eval(f1) y2 = -0.9589 练习:将y1用sym函数转换为符号对象,并用’d’,’f’,’e’,’r’4种格式表示。>> y2=sym(y1,'d') y2 = -0.95892427466313845396683746002964

实验四 MATLAB符号运算

实验四MATLAB符号运算 一、实验目的: 1、掌握定义符号对象的方法; 2、掌握符号表达式的运算法则以及符号矩阵运算。 3、掌握求符号函数极限及导数的方法。 4、掌握求符号函数定积分和不定积分的方法。 二、实验原理 1、符号常量、符号变量、符号表达式的创建 (1) 使用sym( )创建 输入以下命令,观察Workspace 中A、B、f是什么类型的数据,占用多少字节的内存空间。 >>A=sym('1') %符号常量 >>B=sym('x') %符号变量 >>f=sym('2*x^2+3y-1') %符号表达式 >>clear >>f1=sym('1+2') %有单引号,表示字符串 >>f2=sym(1+2) %无单引号 >>f3=sym('2*x+3') >>f4=sym(2*x+3) %为什么会出错 >>x=1 >>f4=sym(2*x+3) 通过看MATLAB 的帮助可知,sym( )的参数可以是字符串或数值类型,无论是哪种类型都会生成符号类型数据。 (2) 使用syms 创建 >>clear >>syms x y z %注意观察x,y,z都是什么类型的,它们的内容是什么 >>x,y,z >>f1=x^2+2*x+1 >>f2=exp(y)+exp(z)^2 >>f3=f1+f2 通过以上实验,知道生成符号表达式的第二种方法:由符号类型的变量经过运算(加减乘除等)得到。又如: >>f1=sym('x^2+y +sin(2)') >>syms x y >>f2=x^2+y+sin(2) >>x=sym('2') , y=sym('1') >>f3=x^2+y+sin(2)

2014秋实验四_MATLAB的符号计算二

2014年10月26日星期日 湖北科技学院 MATLAB 专业:电气工程及其自动化班级:电气一班 姓名:尹锥(133521015)指导教师:刘芳华 电子与信息工程学院

实验四MATLAB的符号计算(二) 一、实验目的 1.掌握MATLAB7.0 subs、simple、simplify、finverse等函数的应用; 2.掌握利用MATLAB7.0计算极限和级数的方法,计算复合、反函数的方法; 3.了解利用MATLAB7.0计算taylor级数。 4.掌握利用MATLAB7.0来求解常微分方程的方法。 5.掌握利用MATLAB7.0符号计算中的ezplot及ezplot3绘图方法。 二、实验内容 1.设x为符号变量, 42 ()21 f x x x =++,32 ()635 g x x x x =+++,试进行如下运算。 (1) ()() f x g x +, (2) ()() f x g x ?, (3)对 () f x进行因式分解, (4)求 () g x的反函数。 2

2.(1)指出下面程序中的f1、f2、f3、f4、f5的值。f5=subs(f,{a,x},{0:6,0:pi/6:pi}) 3

(2)指出下面替换的结果。 3. 用符号计算验证三角等式: sin(?1)cos(?2)-cos(?1)sin(?2) =sin(?1-?2) 4

4.设,求 7.求微分方程的解:y'''-y''=x,y''(2)=4,y'(1)=7,y(1)=8 5

8.计算函数级数 2 1 n x S n ∞ = =∑ 9. f(x)=e x分别求5阶、6阶泰勒展开式 10.符号函数绘图法绘制函数x=sin(3t)cos(t),y=sin(3t)sin(t)的图形,t的变化范围为[0,2π]。 6

实验 MATLAB符号运算功能

实验3 MATLAB 符号运算功能 实验目的:掌握MATLAB 符号运算功能的基本使用方法 1.符号矩阵的建立及符号矩阵的运算; 2.符号矩阵的简化; 3.符号矩阵的极限和微积分; 4.代数方程求解; 5.一元函数图象简易画法. 实验内容: 1. 设)1()(--=x e x x g x 1) 将)(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.3926 G1 =

263.9908 2. 设)1()(1--=x e x x g x ,1)(22+=x x g 1)利用"ezplot "命令画图估计函数)(1x g 与)(2x g 图象交点的x 值; 2) 利用"solve "命令求出函数)(1x g 与)(2x g 图象交点处x 的精确值. 3. 说明下面程序中每个命令的作用: syms x h f = exp(sin(x)) m = (subs(f, x+h)-f)/h f1 = 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 x 1) 利用定积分的定义(无限求和)计算?3 0)(dx x f 的近似值(有限求和),改变求和的项数对结果的变化进行比较; 2) 利用符号积分的命令"int "计算?3 0)(dx x f 的值,并与1)所得结果进行比较。

MATLAB实验一——符号运算(学)

实验一 符号运算 要求:报告应写出相应的实验程序代码,相关绘图应截图保存。 一、实验目的 1、了解符号、数值、字符等数据类型的差别 2、了解符号运算的特点、优缺点 3、掌握符号变量的创建和运算,以及其运算的基本应用 4、掌握基本的符号绘图指令 二、实验内容 1、指出下面的 M1,M2,M3 分别是什么,并上机验证。 取a=1、b=2、c=3、d=4,M1=[a,b;c,d],M2='[a,b;c,d]',M3=sym('[a,b;c,d]'); 2、下面2种取值情况下,计算b a b a -+并赋给相应情况下的c1、 c2,问c1、c2相等吗,为什么?上机验证。 (1) a1=1010; b1=10-10; (2) 将a1、a2作为符号变量赋给a2、b2; 3、符号表达式中自由变量的确定生成符号变量a 、b 、x 、X 、Y 、 k=3、z=a y w c sin +,表达式为 Y k bx azX f )(2++=。 (1)找出f 中的全部自由符号变量

2 (2)在f 中确定最优先的自由符号变量 (3)在f 中确定2个和3个自由变量时的执行情况 (4)试通过对各符号变量与x 的ASCII 值做绝对差值,分析自 由变量优秀顺序,能得出什么结论? 4、已知432432)(x x x x x f +++-=, 965)(25+-=x x x g 。做符号运算,化简并计算: (1))()(x g x f ?;)(/)(x g x f ;)(\)(x g x f (2)?dx x f )(;?21)(dx x g ;22)(dx x f d ;)()(lim 0x g x f x → 5、用ezplot 命令绘出 2sin()y x x =在[-4,4]之间的图像。 6、用ezsurf 命令绘出单位球的曲面图像

实验 MATLAB符号运算功能

实验3 MATLAB符号运算功能 实验目的:掌握MATLAB符号运算功能的基本使用方法 1.符号矩阵的建立及符号矩阵的运算; 2.符号矩阵的简化; 3.符号矩阵的极限和微积分; 4.代数方程求解; 5.一元函数图象简易画法. 实验内容: 1. 设)1 x e g x x (- ( ) - =x 1) 将) g写成MATLAB符号表达式; (x 2) 求出符号表达式) g; ('x 3) 利用"subs"命令求出)4(g和)4('g; 4) 利用"plot"命令画出函数) g在区间[-3,3]上的光滑图象; (x 5) 利用"ezplot"命令画出函数) g在区间[-3,3]上的图象并与4)所得结果 (x 进行比较. 比较. 运行命令: 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.3926 G1 =

263.9908 2. 设)1()(1--=x e x x g x ,1)(22+=x x g 1)利用"ezplot "命令画图估计函数)(1x g 与)(2x g 图象交点的x 值; 2) 利用"solve "命令求出函数)(1x g 与)(2x g 图象交点处x 的精确值. 3. 说明下面程序中每个命令的作用: syms x h f = exp(sin(x)) m = (subs(f, x+h)-f)/h f1 = 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 x 1) 利用定积分的定义(无限求和)计算?3 0)(dx x f 的近似值(有限求和),改变求和的项数对结果的变化进行比较; 2) 利用符号积分的命令"int "计算?3 0)(dx x f 的值,并与1)所得结果进行比较。

相关主题
文本预览
相关文档 最新文档