文档库 最新最全的文档下载
当前位置:文档库 › matlab 实验十一

matlab 实验十一

matlab 实验十一
matlab 实验十一

实验十一微分方程(组)的解

一、实验目的

对微分方程(组)的解析解法(精确解),Matlab 有专门的函数可以用,本实验将作一定的介绍.

本实验将主要研究微分方程(组)的数值解法(近似解),重点介绍Euler 折线法.

二、实验原理

1.dsolve('equ1','equ2',…):Matlab 求微分方程的解析解.equ1、equ2、…为方程(或条件).写方程(或条件)时用Dy 表示y 关于自变量的一阶导数,用用D2y 表示y 关于自变量的二阶导数,依此类推.

2.simplify(s):对表达式s 使用maple 的化简规则进行化简.

例如:

syms x

simplify(sin(x)^2 + cos(x)^2)

ans=1

3.[r,how]=simple(s):由于Matlab 提供了多种化简规则,simple 命令就是对表达式s 用各种规则进行化简,然后用r 返回最简形式,how 返回形成这种形式所用的规则.

例如:

syms x

[r,how]=simple(cos(x)^2-sin(x)^2)

r = cos(2*x) how = combine

4.[T,Y] = solver(odefun,tspan,y 0) 求微分方程的数值解. 说明:

(1) 其中的 solver 为命令 ode45、ode23、ode113、ode15s 、ode23s 、ode23t 、ode23tb 之一.

(2) odefun 是显式常微分方程:?????==0

0)()

,(y t y y t f dt dy

(3) 在积分区间 tspan =],[0f t t 上,从0t 到f t ,用初始条件0y 求解. (4) 要获得问题在其他指定时间点 ,210,,t t t 上的解,则令 tspan = ],,,[,210f t t t t (要求是单调的)

. (5) 因为没有一种算法可以有效地解决所有的 ODE 问题,为此,Matlab 提供了多种求解器 Solver ,对于不同的ODE 问题,采用不同的Solver .

(6) 要特别的是:ode23、ode45 是极其常用的用来求解非刚性的标准形式的一阶常微分方程(组)的初值问题的解的Matlab 的常用程序,其中:ode23 采用龙格-库塔2 阶算法,用3 阶公式作误差估计来调节步长,具有低等的精度.

ode45 则采用龙格-库塔4 阶算法,用5 阶公式作误差估计来调节步长,具有中等的精度.

5.ezplot(x,y,[tmin,tmax]):符号函数的作图命令.x,y 为关于参数t 的符号函数,[tmin,tmax] 为t 的取值范围.

6.inline():建立一个内联函数.格式:inline('expr', 'var1', 'var2',…) ,注意括号里的表达式要加引号.

例:Q = dblquad(inline('y*sin(x)'), pi, 2*pi, 0, pi)

例子:

1. 几个可以直接用 Matlab 求微分方程精确解的例子: 例1:求解微分方程

22x xe xy dx

dy

-=+,并加以验证. 求解本问题的Matlab 程序为:

syms x y %line1 y=dsolve('Dy+2*x*y=x*exp(-x^2)','x') %line2 diff(y,x)+2*x*y-x*exp(-x^2) %line3 simplify(diff(y,x)+2*x*y-x*exp(-x^2)) %line4 说明:

(1) 行line1是用命令定义x,y 为符号变量.这里可以不写,但为确保正确性,建议写上;

(2) 行line2是用命令求出的微分方程的解:

1/2*exp(-x^2)*x^2+exp(-x^2)*C1

(3) 行line3使用所求得的解.这里是将解代入原微分方程,结果应该为0,但这里给出:

-x^3*exp(-x^2)-2*x*exp(-x^2)*C1+2*x*(1/2*exp(-x^2)*x^2+exp(

-x^2)*C1)

(4) 行line4 用 simplify() 函数对上式进行化简,结果为 0, 表明)(x y y =的确是微分方程的解.

例2:求微分方程0'=-+x e y xy 在初始条件e y 2)1(=下的特解,并画出解函数的图形.

求解本问题的 Matlab 程序为:

syms x y

y=dsolve('x*Dy+y-exp(x)=0','y(1)=2*exp(1)','x') ezplot(y)

微分方程的特解为:y=1/x*exp(x)+1/x* exp (1) (Matlab 格式),即

x

e e y x +=,解函数的图形如图 1:

图1

例3:求微分方程组???????=--=++035y x dt

dy e y x dt

dx t

在初始条件0|,1|00====t t y x 下的特解,

并画出解函数的图形.

求解本问题的 Matlab 程序为: syms x y t

[x,y]=dsolve('Dx+5*x+y=exp(t)','Dy-x-3*y=0','x(0)=1','y(0)=0','t') simple(x); simple(y);

ezplot(x,y,[0,1.3]);axis auto

微分方程的特解(式子特别长)以及解函数的图形均略.

2. 用ode23、ode45等求解非刚性的标准形式的一阶常微分方程(组)的初值问题的数值解(近似解).

例4:求解微分方程初值问题?????=++-=1)0(2222

y x

x y dx dy 的数值解,求解范围为区

间[0, 0.5].

fun=inline('-2*y+2*x^2+2*x','x','y'); [x,y]=ode23(fun,[0,0.5],1); x'; y';

plot(x,y,'o-') >> x' ans =

0.0000 0.0400 0.0900 0.1400 0.1900 0.2400 0.2900 0.3400 0.3900 0.4400 0.4900 0.5000 >> y' ans =

1.0000 0.9247 0.8434 0.7754 0.7199 0.6764 0.6440 0.6222 0.6105 0.6084 0.6154 0.6179 图形结果为图 2.

图2

例 5:求解描述振荡器的经典的 Ver der Pol 微分方程

.7,0)0(',1)0(,0)1(22

2====+--μμy y y dt dy y dt

y d 分析:令,,121dt dx x y x =

=则.)1(,122

1221x x x dt

dx x dt dx --==μ 先编写函数文件verderpol.m : function xprime = verderpol(t,x) global mu;

xprime = [x(2);mu*(1-x(1)^2)*x(2)-x(1)]; 再编写命令文件vdp1.m : global mu; mu = 7; y0=[1;0]

[t,x] = ode45('verderpol',[0,40],y0); x1=x(:,1);x2=x(:,2);

plot(t,x1) 图形结果为图3.

图3

3. 用 Euler 折线法求解

前面讲到过,能够求解的微分方程也是十分有限的.下面介绍用 Euler 折线法求微分方程的数值解(近似解)的方法.

Euler 折线法求解的基本思想是将微分方程初值问题

?????==0

0)(),

,(y x y y x f dx

dy

化成一个代数方程,即差分方程,主要步骤是用差商h x y h x y )()(-+替代微商dx

dy

,

于是:

??

?

?

?==-+)()),(,()

()(00x y y x y x f h x y h x y k k k k 记)(,1k k k k x y y h x x =+=+,从而)(1h x y y k k +=+,则有

1,,2,1,0).

,(,

),(1

100-=???

??+=+==++n k y x hf y y h x x x y y k k k k k k

例 6:用 Euler 折线法求解微分方程初值问题

??

???=+=1)0(,22

y y x y dx

dy 的数值解(步长h 取0.4),求解范围为区间[0,2].

解:本问题的差分方程为

1,,2,1,0).2),( ),(,

,4.0,1,021100-=????

????

?+=+=+====++n k y x y y x f y x hf y y h x x h y x k k k k k k (其中: 相应的Matlab 程序见附录 1.

数据结果为: 0 1.0000 0.4000 1.4000 0.8000 2.1233 1.2000 3.1145 1.6000 4.4593 2.0000 6.3074

图形结果见图4:

图4

特别说明:本问题可进一步利用四阶 Runge-Kutta 法求解,读者可将两个结果在一个图中显示,并和精确值比较,看看哪个更“精确”?(相应的 Matlab 程序参见附录 2).

三、实验内容

1. 求微分方程0sin 2')1(2=-+-x xy y x 的通解. >>syms x y

>>y=dsolve(‘(x^2-1)*Dy+2*x*y-sin(x)=0’,’x ’) y= (-cos(x)+C1)/(x^2-1) >> pretty(y)

-cos(x) + C1 ------------ 2 x - 1 2. 求微分方程x e y y y x sin 5'2''=+-的通解.

>>syms x y

>>y=dsolve(‘D2y-2*Dy+5*y=exp(x)*sin(x)’,’x ’) >>y=pretty(simple(y))

1/3 exp(x) (3 sin(2 x) C2 + 3 cos(2 x) C1 + sin(x)) 3. 求微分方程组

??????

?=-+=++00y x dt

dy y x dt

dx

在初始条件0|,1|00====t t y x 下的特解,并画出解函数()y f x =的图形. >> syms x y t

>> [x,y]=dsolve('Dx+x+y=0','Dy+x-y=0','x(0)=1','y(0)=0','t') x =

(1/2-1/4*2^(1/2))*exp(2^(1/2)*t)+(1/2+1/4*2^(1/2))*exp(-2^(1/2)*t) y =

-(1/2-1/4*2^(1/2))*2^(1/2)*exp(2^(1/2)*t)+(1/2+1/4*2^(1/2))*2^(1/2)*exp(-2^(1/2)*t)-(1/2-1/4*2^(1/2))*exp(2^(1/2)*t)-(1/2+1/4*2^(1/2))*exp(-2^(1/2)*t)

>> ezplot(x,y,[-1,1]) >> axis auto

>> 4. 分别用ode23、ode45 求上述第3 题中的微分方程初值问题的数值解(近似解),求解区间为[0,2]

t .利用画图来比较两种求解器之间的差异.%定义函数%

function dxdt=fun114ode4(t,x)

dxdt=zeros(2,1);

dxdt=[-x(1)-x(2);x(2)-x(1);];

////////

>>clc

>>x0=[1,0];

>> [t,x]=ode45('fun114ode4',[0,2],x0);

>> subplot(2,2,1)

>> plot(t,x(:,1));

>> xlabel('t')

>> ylabel('x')

>> subplot(2,2,2);

>> plot(t,x(:,2));

>> xlabel('t');

>> ylabel('y');

>> subplot(2,2,3);

>> plot3(t,x(:,1),x(:,2),'r--');

>> xlabel('t0=0 tt=2');

>> ylabel('x');

>> zlabel('y');

>> [t1,x1]=ode23('fun114ode4',[0,2],x0); >> [t,x]=ode45('fun114ode4',[0,2],x0); >> subplot(2,2,1)

plot(t,x(:,1),t1,x1(:,1));

xlabel('t')

ylabel('x')

subplot(2,2,2);

plot(t,x(:,2),t1,x1(:,2));

xlabel('t'); ylabel('y'); subplot(2,2,3);

plot3(t,x(:,1),x(:,2),t1,x1(:,1),x1(:,2)); xlabel('t0=0 tt=2'); ylabel('x');

zlabel('y');

5. 用 Euler 折线法求解微分方程初值问题

??

??

?=-=1)0(,

12'32y y x y y 的数值解(步长h 取0.1),求解范围为区间[0,2]. >> h=0.1; >> y(1)=1.1; >> x=0.1:h:2; >> for n=1:19

xn=x(n); yn=y(n);

y(n+1)=yn+h*(yn-12*xn^2/yn^3); end >> x=[0,x]; >> y=[1,y]; >> plot(x,y,'o-')

6. 用四阶 Runge-Kutta 法求解微分方程初值问题

??

?=-=1

)0(,

cos 'y x e y y x 的数值解(步长h 取0.1),求解范围为区间[0,3].

四阶 Runge-Kutta 法的迭代公式为(Euler 折线法实为一阶 Runge-Kutta 法):

1,,2,1,0)

,()

2,2()

2,2()

,()

22(6,),(342312143211100-=??

???

????

?????

???

++=++=++==++++=+==++n k hL y h x f L L h y h x f L L h y h x f L y x f L L L L L h

y y h x x x y y k k k k k k k k k k k k 相应的 Matlab 程序参见附录 2.试用该方法求解第5题中的初值问题. >> h=0.1; >> y(1)=1.1;

>> f=sym('y-12*x^2/y^3'); >> x(1)=0.1; >>for i=1:19

I1=subs(f,{'x','y'},{x(i),y(i)});

I2=subs(f,{'x','y'},{x(i)+h/2,y(i)+h/2*I1}); I3=subs(f,{'x','y'},{x(i)+h/2,y(i)+h/2*I2}); I4=subs(f,{'x','y'},{x(i)+h,y(i)+I3*h}); y(i+1)=y(i)+h*(I1+2*I2+2*I3+I4)/6; end >> x=[0,x]; >> y=[1,y]; >> plot(x,y,'o--')

7. 用ode45 方法求上述第6 题的常微分方程初值问题的数值解(近似解),从而利用画图来比较两者间的差异.

>>edit

%%函数定义

function dy=fun117ode7(x,y)

dy=y-12*x^2/y^3;

/////

y0=1;

[x,y]=ode45(‘fun117ode7’,[0,2],y0);

>> plot(x,y,'x-')

8、分别用ode45和ode15s 求解微分方程的数值解,并进行比较

??

?=-===-+1)1('',1)1(',0)1(3'4'''''2

23y y y x xy y x y x %%定义函数%%

function dy=fun118ode8(x,y)

dy=[y(2);y(3);(3*x^2+4*x*y(2)-x^2*y(3))/x^3;]; //////

>> x0=[0,-1,1];

>> [x,y]=ode45('fun118ode8',[1,4],x0); >>[x1,y1]=ode15s('fun118ode8',[1,4],x0); >> plot(x,y(:,1),x1,y1(:,1))

五、附录

附录1:(fulu1.m)

clear

f=sym('y+2*x/y^2');

a=0;

b=2;

h=0.4;

n=(b-a)/h+1;

x=0;

y=1;

szj=[x,y];

for i=1:n-1

y=y+h*subs(f,{'x','y'},{x,y});

x=x+h;

szj=[szj;x,y];

end

plot(szj(:,1),szj(:,2))

附录2:(fulu2.m)

clear

f=sym('y-exp(x)*cos(x)');

a=0;

b=3;

h=0.1;

n=(b-a)/h+1;

x=0;

y=1;

szj=[x,y];

for i=1:n-1

l1=subs(f,{'x','y'},{x,y});

l2=subs(f,{'x','y'},{x+h/2,y+l1*h/2});

l3=subs(f,{'x','y'},{x+h/2,y+l2*h/2});

l4=subs(f,{'x','y'},{x+h,y+l3*h});

y=y+h*(l1+2*l2+2*l3+l4)/6;

x=x+h;

szj=[szj;x,y];

end

MATLAB数学实验第二版答案(胡良剑)

数学实验答案 Chapter 1 Page20,ex1 (5) 等于[exp(1),exp(2);exp(3),exp(4)] (7) 3=1*3, 8=2*4 (8) a为各列最小值,b为最小值所在的行号 (10) 1>=4,false, 2>=3,false, 3>=2, ture, 4>=1,ture (11) 答案表明:编址第2元素满足不等式(30>=20)和编址第4元素满足不等式(40>=10) (12) 答案表明:编址第2行第1列元素满足不等式(30>=20)和编址第2行第2列元素满足不等式(40>=10) Page20, ex2 (1)a, b, c的值尽管都是1,但数据类型分别为数值,字符,逻辑,注意a与c相等,但他们不等于b (2)double(fun)输出的分别是字符a,b,s,(,x,)的ASCII码 Page20,ex3 >> r=2;p=0.5;n=12; >> T=log(r)/n/log(1+0.01*p) Page20,ex4 >> x=-2:0.05:2;f=x.^4-2.^x; >> [fmin,min_index]=min(f) 最小值最小值点编址 >> x(min_index) ans = 0.6500 最小值点 >> [f1,x1_index]=min(abs(f)) 求近似根--绝对值最小的点 f1 = 0.0328 x1_index = 24 >> x(x1_index) ans = -0.8500 >> x(x1_index)=[];f=x.^4-2.^x; 删去绝对值最小的点以求函数绝对值次小的点 >> [f2,x2_index]=min(abs(f)) 求另一近似根--函数绝对值次小的点 f2 = 0.0630 x2_index = 65 >> x(x2_index) ans = 1.2500

MATLAB实验报告

MATLAB程序设计语言 实 验 报 告 专业及班级:电子信息工程 姓名:王伟 学号:1107050322 日期 2013年6月20日

实验一 MATLAB 的基本使用 【一】 实验目的 1.了解MATALB 程序设计语言的基本特点,熟悉MATLAB 软件的运行环境; 2.掌握变量、函数等有关概念,掌握M 文件的创建、保存、打开的方法,初步具备将一般数学问题转化为对应计算机模型处理的能力; 3.掌握二维图形绘制的方法,并能用这些方法实现计算结果的可视化。 【二】 MATLAB 的基础知识 通过本课程的学习,应基本掌握以下的基础知识: 一. MATLAB 简介 二. MATLAB 的启动和退出 三. MATLAB 使用界面简介 四. 帮助信息的获取 五. MATLAB 的数值计算功能 六. 程序流程控制 七. M 文件 八. 函数文件 九. MATLAB 的可视化 【三】上机练习 1. 仔细预习第二部分内容,关于MATLAB 的基础知识。 2. 熟悉MATLAB 环境,将第二部分所有的例子在计算机上练习一遍 3. 已知矩阵???? ??????=??????????=123456789,987654321B A 。求A*B ,A .* B ,比较二者结果是否相同。并利用MATLAB 的内部函数求矩阵A 的大小、元素和、长度以 及最大值。 程序代码: >> A=[1 2 3;4 5 6;7 8 9]; >> B=[9 8 7;6 5 4;3 2 1]; >> A*B ans =

30 24 18 84 69 54 138 114 90 >> A.*B ans = 9 16 21 24 25 24 21 16 9 两者结果不同 >> [m,n]=size(A) m = 3 n = 3 >> b=sum(A) b = 12 15 18 >> a=length(A) a = 3 >>max(A) ans =

数学实验练习题(MATLAB)

注意:在下面的题目中m 为你的学号的后3位(1-9班)或4位(10班以上). 第一次练习题 1.求解下列各题: 1)30sin lim x mx mx x ->- 2)(4)cos ,1000.0=x mx y e y 求 3)21/2 0mx e dx ?(求近似值,可以先用inline 定义被积函数,然后用quad 命令) 4)4 224x dx m x +? 5 0x =展开(最高次幂为8). 2.对矩阵21102041A m -?? ?= ? ?-?? ,分别求逆矩阵,特征值,特征向量,行列式,并求矩阵,P D (D 是对角矩阵),使得1A PDP -=。 3. 已知2 1(),()2f x e x μσ=--分别在下列条件下画出)(x f 的图形: (1)/600m σ=,μ分别为0,1,1-(在同一坐标系上作图); (2)0μ=,σ分别为1,2,4,/100m (在同一坐标系上作图). 4.画 (1)sin 020cos 02100x u t t y u t u t z m ??=≤≤?=?≤≤??=?

(2) sin()03,03z mxy x y =≤≤≤≤ (3)sin()(/100cos )02cos()(/100cos )02sin x t m u t y t m u u z u π π=+?≤≤?=+?≤≤?=? 的图(第4题只要写出程序). 5.对于方程50.10200 m x x --=,先画出左边的函数在合适的区间上的图形,借助于软件中的方程求根的命令求出所有的实根,找出函数的单调区间,结合高等数学的知识说明函数为什么在这些区间上是单调的,以及该方程确实只有你求出的这些实根。最后写出你做此题的体会. 第二次练习题 判断迭代收敛速度的程序 x0=1;stopc=1;eps=10^(-8);a=1;c=1;b=2*c;d=a;k=0; f=inline('(a*x+b)/(c*x+d)'); kmax=100; while stopc>eps&k

matlab实验报告

MATLAB 数学实验报告 指导老师: 班级: 小组成员: 时间:201_/_/_

Matlab 第二次实验报告 小组成员: 1 题目:实验四,MATLAB 选择结构与应用实验 目的:掌握if 选择结构与程序流程控制,重点掌握break,return , pause语句的应用。 问题:问题1:验证“哥德巴赫猜想” ,即:任何一个正偶数(n>=6)均可表示为两个质数的和。要求编制一个函数程序,输入一个正偶数,返回两个质数的和。 问题分析:由用户输入一个大于6 的偶数,由input 语句实现。由if 判断语句判断是否输入的数据符合条件。再引用质数判断函数来找出两个质数,再向屏幕输出两个质数即可。 编程:function [z1,z2]=gede(n); n=input('please input n')

if n<6 disp('data error'); return end if mod(n,2)==0 for i=2:n/2 k=0; for j=2:sqrt(i) if mod(i,j)==0 k=k+1; end end for j=2:sqrt(n-i) if mod(n-i,j)==0 k=k+1; end end if k==0 fprintf('two numbers are') fprintf('%.0f,%.0f',i,n- i) break end

end end 结果分析 如上图,用户输入了大于6的偶数返回两个质数5和31,通过 不断试验,即可验证哥德巴赫猜想。 纪录:if判断语句与for循环语句联合嵌套使用可使程序结构更加明晰,更快的解决问题。 2题目:实验四,MATLAB选择结构与应用实验 目的:用matlab联系生活实际,解决一些生活中常见的实际问 题。

主成分分析法matlab实现,实例演示

利用Matlab 编程实现主成分分析 1.概述 Matlab 语言是当今国际上科学界 (尤其是自动控制领域) 最具影响力、也是 最有活力的软件。它起源于矩阵运算,并已经发展成一种高度集成的计算机语言。它提供了强大的科学运算、灵活的程序设计流程、高质量的图形可视化与界面设计、与其他程序和语言的便捷接口的功能。Matlab 语言在各国高校与研究单位起着重大的作用。主成分分析是把原来多个变量划为少数几个综合指标的一种统计分析方法,从数学角度来看,这是一种降维处理技术。 1.1主成分分析计算步骤 ① 计算相关系数矩阵 ?? ? ???? ???? ?? ?=pp p p p p r r r r r r r r r R 2 122221 11211 (1) 在(3.5.3)式中,r ij (i ,j=1,2,…,p )为原变量的xi 与xj 之间的相关系数,其计算公式为 ∑∑∑===----= n k n k j kj i ki n k j kj i ki ij x x x x x x x x r 1 1 2 2 1 )() () )(( (2) 因为R 是实对称矩阵(即r ij =r ji ),所以只需计算上三角元素或下三角元素即可。

② 计算特征值与特征向量 首先解特征方程0=-R I λ,通常用雅可比法(Jacobi )求出特征值 ),,2,1(p i i =λ,并使其按大小顺序排列,即0,21≥≥≥≥p λλλ ;然后分别求 出对应于特征值i λ的特征向量),,2,1(p i e i =。这里要求i e =1,即112 =∑=p j ij e ,其 中ij e 表示向量i e 的第j 个分量。 ③ 计算主成分贡献率及累计贡献率 主成分i z 的贡献率为 ),,2,1(1 p i p k k i =∑=λ λ 累计贡献率为 ) ,,2,1(11 p i p k k i k k =∑∑==λ λ 一般取累计贡献率达85—95%的特征值m λλλ,,,21 所对应的第一、第二,…,第m (m ≤p )个主成分。 ④ 计算主成分载荷 其计算公式为 ) ,,2,1,(),(p j i e x z p l ij i j i ij ===λ (3)

浅析Matlab数学实验报告

数学实验报告 姓名: 班级: 学号: 第一次实验任务 过程: a=1+3i; b=2-i; 结果: a+b =3.0000 + 2.0000i a-b =-1.0000 + 4.0000i a*b = 5.0000 + 5.0000i a/b = -0.2000 + 1.4000i 过程: x=-4.5*pi/180; y=7.6*pi/180; 结果: sin(abs(x)+y)/sqrt(cos(abs(x+y))) =0.2098 心得:对于matlab 中的角度计算应转为弧度。 (1)过程: x=0:0.01:2*pi; y1=sin(x); y2=cos(x); y3=exp(x); y4=log(x); plot(x,y1,x,y2,x,y3,x,y4) plot(x,y1,x,y2,x,y3,x,y4) 结果: (2)过程:>> subplot(2,2,1) >> plot(x,y1) >> subplot(2,2,2) >> plot(x,y2) ./,,,,2,311b a b a b a b a i b i a ?-+-=+=计算、设有两个复数 6,7,5.4)

cos()sin(2=-=++y x y x y x ,其中、计算的图形。 下分别绘制)同一页面四个坐标系)同一坐标系下(、在( x y e y x y x y x ln ,,cos ,sin 213==== >> subplot(2,2,3) >> plot(x,y3) >> subplot(2.2.4) >> subplot(2,2,4) >> plot(x,y4) 结果: 心得:在matlab中,用subplot能够实现在同一页面输出多个坐标系的图像,应注意将它与hold on进行区别,后者为在同一坐标系中划出多条曲线。 5、随机生成一个3x3矩阵A及3x2矩阵B,计算(1)AB,(2)对B中每个元素平方后得到的矩阵C,(3)sinB,(4)A的行列式,(5)判断A是否可逆,若可逆,计算A的逆矩阵,(6)解矩阵方程AX=B,(7)矩阵A中第二行元素加1,其余元素不变,得到矩阵D,计算D。 过程:A=fix(rand(3,3).*10) ; B=fix(rand(3,3).*10);

MATLAB实验报告(1-4)

信号与系统MATLAB第一次实验报告 一、实验目的 1.熟悉MATLAB软件并会简单的使用运算和简单二维图的绘制。 2.学会运用MATLAB表示常用连续时间信号的方法 3.观察并熟悉一些信号的波形和特性。 4.学会运用MATLAB进行连续信号时移、反折和尺度变换。 5.学会运用MATLAB进行连续时间微分、积分运算。 6.学会运用MATLAB进行连续信号相加、相乘运算。 7.学会运用MATLAB进行连续信号的奇偶分解。 二、实验任务 将实验书中的例题和解析看懂,并在MATLAB软件中练习例题,最终将作业完成。 三、实验内容 1.MATLAB软件基本运算入门。 1). MATLAB软件的数值计算: 算数运算 向量运算:1.向量元素要用”[ ]”括起来,元素之间可用空格、逗号分隔生成行向量,用分号分隔生成列向量。2.x=x0:step:xn.其中x0位初始值,step表示步长或者增量,xn 为结束值。 矩阵运算:1.矩阵”[ ]”括起来;矩阵每一行的各个元素必须用”,”或者空格分开; 矩阵的不同行之间必须用分号”;”或者ENTER分开。2.矩阵的加法或者减法运算是将矩阵的对应元素分别进行加法或者减法的运算。3.常用的点运算包括”.*”、”./”、”.\”、”.^”等等。 举例:计算一个函数并绘制出在对应区间上对应的值。

2).MATLAB软件的符号运算:定义符号变量的语句格式为”syms 变量名” 2.MATLAB软件简单二维图形绘制 1).函数y=f(x)关于变量x的曲线绘制用语:>>plot(x,y) 2).输出多个图像表顺序:例如m和n表示在一个窗口中显示m行n列个图像,p表 示第p个区域,表达为subplot(mnp)或者subplot(m,n,p) 3).表示输出表格横轴纵轴表达范围:axis([xmax,xmin,ymax,ymin]) 4).标上横轴纵轴的字母:xlabel(‘x’),ylabel(‘y’) 5).命名图像就在subplot写在同一行或者在下一个subplot前:title(‘……’) 6).输出:grid on 举例1: 举例2:

matlab 实验案例 理发店模拟

实验案例理发店模拟 1 实验案例 (1) 1.1 案例:理发店系统研究 (1) 1.1.1 问题分析 (2) 1.1.2 模型假设 (2) 1.1.3 变量说明 (2) 1.1.4 模型建立 (2) 1.1.5 系统模拟 (3) 1.1.6 计算机模拟算法设计 (4) 1.1.7 计算机模拟程序 (5) 1.1.8 思考题 (8) 1实验案例 1.1 案例:理发店模拟 例子:一个理发店有两位服务员A和B,顾客们随机到达店内,其中60%的顾客仅需剪发,每位花5分钟时间,另外40%顾客既要剪发又要洗发,每位用时8分钟。 理发店是个含有多种随机因素的系统,请对该系统进行模拟,并对其进行评判。 (准备怎么做) 可供参考内容 “排队论”,“系统模拟”,“离散系统模拟”,“事件调度法”

1.1.1 问题分析 理发店系统包含诸多随机因素,为了对其进行评判就是要研究其运行效率, 从理发店自身利益来说,要看服务员工作负荷是否合理,是否需要增加员工等考 虑。从顾客角度讲,还要看顾客的等待时间,顾客的等待队长,如等待时间过长 或者等待的人过多,则顾客会离开。理发店系统是一个典型的排队系统,可以用 排队论有关知识来研究。 1.1.2 模型假设 1. 60%的顾客只需剪发,40%的顾客既要剪发,又要洗发; 2. 每个服务员剪发需要的时间均为5分钟,既剪发又洗发则花8分钟; 3. 顾客的到达间隔时间服从指数分布; 4. 服务中服务员不休息。 1.1.3 变量说明 u :剪发时间(单位:分钟),u=5m ; v: 既剪发又理发花的时间(单位:分钟),v=8m ; T : 顾客到达的间隔时间,是随机变量,服从参数为λ的指数分布,(单位: 分钟) T 0:顾客到达的平均间隔时间(单位:秒),T 0=λ 1; 1.1.4 模型建立 由于该系统包含诸多随机因素,很难给出解析的结果,因此可以借助计算机 模拟对该系统进行模拟。 考虑一般理发店的工作模式,一般是上午9:00开始营业,晚上10:00左 右结束,且一般是连续工作的,因此一般营业时间为13小时左右。 这里以每天运行12小时为例,进行模拟。 这里假定顾客到达的平均间隔时间T 0服从均值3分钟的指数分布, 则有 3小时到达人数约为603 603=?人, 6小时到达人数约为1203 606=?人, 10小时到达人数约为2003 6010=?人, 这里模拟顾客到达数为60人的情况。 (如何选择模拟的总人数或模拟总时间)

南邮MATLAB数学实验答案(全)

第一次练习 教学要求:熟练掌握Matlab 软件的基本命令和操作,会作二维、三维几何图形,能够用Matlab 软件解决微积分、线性代数与解析几何中的计算问题。 补充命令 vpa(x,n) 显示x 的n 位有效数字,教材102页 fplot(‘f(x)’,[a,b]) 函数作图命令,画出f(x)在区间[a,b]上的图形 在下面的题目中m 为你的学号的后3位(1-9班)或4位(10班以上) 1.1 计算30sin lim x mx mx x →-与3 sin lim x mx mx x →∞- syms x limit((902*x-sin(902*x))/x^3) ans = 366935404/3 limit((902*x-sin(902*x))/x^3,inf) ans = 0 1.2 cos 1000 x mx y e =,求''y syms x diff(exp(x)*cos(902*x/1000),2) ans = (46599*cos((451*x)/500)*exp(x))/250000 - (451*sin((451*x)/500)*exp(x))/250 1.3 计算 22 11 00 x y e dxdy +?? dblquad(@(x,y) exp(x.^2+y.^2),0,1,0,1) ans = 2.1394 1.4 计算4 2 2 4x dx m x +? syms x int(x^4/(902^2+4*x^2)) ans = (91733851*atan(x/451))/4 - (203401*x)/4 + x^3/12 1.5 (10)cos ,x y e mx y =求 syms x diff(exp(x)*cos(902*x),10) ans = -356485076957717053044344387763*cos(902*x)*exp(x)-3952323024277642494822005884*sin(902*x)*exp(x) 1.6 0x =的泰勒展式(最高次幂为4).

matlab 数学实验 迭代 _ 蛛网图(免积分)

数学实验—实验报告(免积分) 一、实验项目:Matlab实验三—迭代 二、实验目的和要求 a.熟悉MATLAB软件的用户环境,掌握其一般目的命令和MATLAB数组操作与 运算函数; b.掌握MATLAB软件的绘图命令,能够熟练应用循环和选择结构实现各种循环 选择功能; c.借助MATLAB软件的绘图功能,对函数的特性进行探讨,广泛联想,大胆猜 想,发现进而证实其中的规律。 三、实验内容 问题一:将方程53 x x x +-+=改写成各种等价的形式进行迭代 5210 观察迭代是否收敛,并给出解释。 问题二:迭代以下函数,分析其收敛性。 4 f(x)=x-a 使用线性连接图、蛛网图或费根鲍姆图对参数a进行讨论和观察,会得到什么结论? 问题一: (1)画图 x1=-6:0.01:6; x2=-3:0.01:3; x3=-1:0.01:1; x4=-0.8:0.01:-0.75; y1=x1.^5 +5*x1.^3-2*x1+1; y2=x2.^5 +5*x2.^3-2*x2+1; y3=x3.^5 +5*x3.^3-2*x3+1; y4=x4.^5 +5*x4.^3-2*x4+1; subplot(2,2,1),plot(x1,y1) ,title('图(1)') ,grid on, subplot(2,2,2),plot(x2,y2) ,title('图(2)'),grid on, subplot(2,2,3),plot(x3,y3) ,title('图(3)'),grid on, subplot(2,2,4),plot(x4,y4) ,title('图(4)') ,grid on,

matlab实验报告

2015秋2013级《MATLAB程序设计》实验报告 实验一班级:软件131姓名:陈万全学号:132852 一、实验目的 1、了解MATLAB程序设计的开发环境,熟悉命令窗口、工作区窗口、历史命令等窗口的使用。 2、掌握MATLAB常用命令的使用。 3、掌握MATLAB帮助系统的使用。 4、熟悉利用MATLAB进行简单数学计算以及绘图的操作方法。 二、实验内容 1、启动MATLAB软件,熟悉MATLAB的基本工作桌面,了解各个窗口的功能与使用。 图1 MATLAB工作桌面 2、MATLAB的常用命令与系统帮助: (1)系统帮助 help:用来查询已知命令的用法。例如已知inv是用来计算逆矩阵,键入help inv即可得知有关inv命令的用法。 lookfor:用来寻找未知的命令。例如要寻找计算反矩阵的命令,可键入lookfor inverse,MATLAB即会列出所有和关键字inverse相关的指令。找到所需的

命令後,即可用help进一步找出其用法。 (2)数据显示格式: 常用命令:说明 format short 显示小数点后4位(缺省值) format long 显示15位 format bank 显示小数点后2位 format + 显示+,-,0 format short e 5位科学记数法 format long e 15位科学记数法 format rat 最接近的有理数显示 (3)命令行编辑:键盘上的各种箭头和控制键提供了命令的重调、编辑功能。 具体用法如下: ↑----重调前一行(可重复使用调用更早的) ↓----重调后一行 →----前移一字符 ←----后移一字符 home----前移到行首 end----移动到行末 esc----清除一行 del----清除当前字符 backspace----清除前一字符 (4)MATLAB工作区常用命令: who--------显示当前工作区中所有用户变量名 whos--------显示当前工作区中所有用户变量名及大小、字节数和类型 disp(x) -----显示变量X的内容 clear -----清除工作区中用户定义的所有变量 save文件名-----保存工作区中用户定义的所有变量到指定文件中 load文件名-----载入指定文件中的数据

matlab实验案例,节水洗衣机(优选.)

1 实验案例 (1) 1.1 案例:节水洗衣机 (1) 1.1.1 问题重述与分析 (2) 1.1.2 基本假设及说明 (2) 1.1.3 符号和变量说明 (2) 1.1.4 建模准备 (3) 1.1.5 模型建立 (4) 1.1.6 模型求解 (4) 1.1.7 思考题 (10) 1实验案例 1.1 案例:节水洗衣机 问题:1996年全国赛B题节水洗衣机 我国淡水资源有限,节约用水人人有责,洗衣机在家庭用水中占有相当大的份额,目前洗衣机已非常普及,节约洗衣机用水十分重要。假设在放入衣物和洗涤剂后洗衣机的运行过程为:加水—漂洗—脱水—加水—漂洗—脱水—…—加水—漂洗—脱水(称“加水—漂洗—脱水”为运行一轮)。请为洗衣机设计一种程序(包括运行多少轮、每轮加水量等),使得在满足一定洗涤效果的条件下,总用水量最少。选用合理的数据进行运算,对照目前常用的洗衣机的运行情况,对你的模型和结果出评价。

洗衣机的节水优化模型 摘要本文通过分析洗衣机的洗衣过程,认为是一次性溶解、多次稀释的过程。据此建立非线性规划模型,并利用迭代公式和最优化原理,得出最少用水量的判断公式和代数解。以海棠洗衣机为例,通过对比,利用我们的模型算出的用水量比厂家提供的数据要少,从而说明所建模型的优越性。最后,根据模型解,给出最少用水量与脏衣服的重量的关系图,并从中得出有趣的结论,也给厂家提供一个节约用水的模型。 1.1.1问题重述与分析 对洗衣机的运行进行设计,主要目的是为了节约用水量。在满足洗涤效果的前提下使得用水量最少。因此,这是一个典型的最优化问题,目标为洗衣总用水量最少,主要的决策为洗多少轮以及每轮加水量的问题。而一般洗衣只是第一次加水漂洗时才放洗涤剂,而过后则是清水漂洗,通过化学原理,可以将第1轮洗涤后的各轮洗涤看成是不断的稀释过程。为了评价洗涤效果,可用衣服上残留的污物质量与洗涤前污物质量之比作为评价指标。在设计每轮加水量时,要考虑洗衣机本身洗衣同的最大容积,运行的最低加水量。 1.1.2基本假设及说明 1.洗衣机一次用水量有最高限和最低限,能连续补充在限度内的任意水量; 2.洗衣机每轮运行过程为:加水-漂洗-脱水; 3.仅在第一轮运行时加上洗涤剂,在后面的运行轮中仅有稀释作用; 4.洗衣时所加的洗涤剂适量,漂洗时间足够,能使污垢一次溶解,忽略不能溶解的污垢; 5.脱水后的衣服质量与干衣服的重量成正比; 6.每缸洗衣水只用一次; 1.1.3符号和变量说明 A:污物的质量(kg);

MATLAB实验报告

实验一 MATLAB 环境的熟悉与基本运算 一、实验目的及要求 1.熟悉MATLAB 的开发环境; 2.掌握MATLAB 的一些常用命令; 3.掌握矩阵、变量、表达式的输入方法及各种基本运算。 二、实验内容 1.熟悉MATLAB 的开发环境: ① MATLAB 的各种窗口: 命令窗口、命令历史窗口、工作空间窗口、当前路径窗口。 ②路径的设置: 建立自己的文件夹,加入到MATLAB 路径中,并保存。 设置当前路径,以方便文件管理。 2.学习使用clc 、clear ,了解其功能和作用。 3.矩阵运算: 已知:A=[1 2;3 4]; B=[5 5;7 8]; 求:A*B 、A.*B ,并比较结果。 4.使用冒号选出指定元素: 已知:A=[1 2 3;4 5 6;7 8 9]; 求:A 中第3列前2个元素;A 中所有列第2,3行的元素; 5.在MATLAB 的命令窗口计算: 1) )2sin(π 2) 5.4)4.05589(÷?+ 6.关系及逻辑运算 1)已知:a=[5:1:15]; b=[1 2 8 8 7 10 12 11 13 14 15],求: y=a==b ,并分析结果 2)已知:X=[0 1;1 0]; Y=[0 0;1 0],求: x&y+x>y ,并分析结果 7.文件操作 1)将0到1000的所有整数,写入到D 盘下的文件 2)读入D 盘下的文件,并赋给变量num

8.符号运算 1)对表达式f=x 3 -1 进行因式分解 2)对表达式f=(2x 2*(x+3)-10)*t ,分别将自变量x 和t 的同类项合并 3)求 3(1)x dz z +? 三、实验报告要求 完成实验内容的3、4、5、6、7、8,写出相应的程序、结果

MATLAB数学实验报告

Matlab 数学实验报告

一、实验目的 通过以下四组实验,熟悉MATLAB的编程技巧,学会运用MATLAB的一些主要功能、命令,通过建立数学模型解决理论或实际问题。了解诸如分岔、混沌等概念、学会建立Malthu模型和Logistic 模型、懂得最小二乘法、线性规划等基本思想。 二、实验内容 2.1实验题目一 2.1.1实验问题 Feigenbaum曾对超越函数y=λsin(πx)(λ为非负实数)进行了分岔与混沌的研究,试进行迭代格式x k+1=λsin(πx k),做出相应的Feigenbaum图 2.1.2程序设计 clear;clf; axis([0,4,0,4]); hold on for r=0:0.3:3.9 x=[0.1]; for i=2:150 x(i)=r*sin(3.14*x(i-1)); end pause(0.5) for i=101:150

plot(r,x(i),'k.'); end text(r-0.1,max(x(101:150))+0.05,['\it{r}=',num2str(r)]) end 加密迭代后 clear;clf; axis([0,4,0,4]); hold on for r=0:0.005:3.9 x=[0.1];

for i=2:150 x(i)=r*sin(3.14*x(i-1)); end pause(0.1) for i=101:150 plot(r,x(i),'k.'); end end 运行后得到Feigenbaum图

2.2实验题目二 2.2.1实验问题 某农夫有一个半径10米的圆形牛栏,长满了草。他要将一头牛拴在牛栏边界的桩栏上,但只让牛吃到一半草,问拴牛鼻子的绳子应为多长? 2.2.2问题分析 如图所示,E为圆ABD的圆心,AB为拴牛的绳子,圆ABD为草场,区域ABCD为牛能到达的区域。问题要求区域ABCD等于圆ABC 的一半,可以设BC等于x,只要求出∠a和∠b就能求出所求面积。先计算扇形ABCD的面积,2a÷π×πx2=2aπ2,再求AB的面积,用扇形ABE的面积减去三角形ABE的面积即可。

matlab实验案例节水洗衣机

1实验案例 (1) 1.1案例:节水洗衣机 (1) 1.1.1问题重述与分析 (2) 1.1.2基本假设及说明 (2) 1.1.3符号和变量说明 (2) 1.1.4建模准备 (3) 1.1.5模型建立 (4) 1.1.6模型求解 (4) 1.1.7思考题 (10) 1实验案例 1.1 案例:节水洗衣机 问题:1996年全国赛B题节水洗衣机 我国淡水资源有限,节约用水人人有责,洗衣机在家庭用水中占有相当大的份额,目前洗衣机已非常普及,节约洗衣机用水十分重要。假设在放入衣物和洗涤剂后洗衣机的运行过程为:加水—漂洗—脱水—加水—漂洗—脱水—…—加水—漂洗—脱水(称“加水—漂洗—脱水”为运行一轮)。请为洗衣机设计一种程序(包括运行多少轮、每轮加水量等),使得在满足一定洗涤效果的条件下,总用水量最少。选用合理的数据进行运算,对照目前常用的洗衣机的运行情况,对你的模型和结果出评价。

洗衣机的节水优化模型 摘要本文通过分析洗衣机的洗衣过程,认为是一次性溶解、多次稀释的过程。据此建立非线性规划模型,并利用迭代公式和最优化原理,得出最少用水量的判断公式和代数解。以海棠洗衣机为例,通过对比,利用我们的模型算出的用水量比厂家提供的数据要少,从而说明所建模型的优越性。最后,根据模型解,给出最少用水量与脏衣服的重量的关系图,并从中得出有趣的结论,也给厂家提供一个节约用水的模型。 1.1.1问题重述与分析 对洗衣机的运行进行设计,主要目的是为了节约用水量。在满足洗涤效果的前提下使得用水量最少。因此,这是一个典型的最优化问题,目标为洗衣总用水量最少,主要的决策为洗多少轮以及每轮加水量的问题。而一般洗衣只是第一次加水漂洗时才放洗涤剂,而过后则是清水漂洗,通过化学原理,可以将第1轮洗涤后的各轮洗涤看成是不断的稀释过程。为了评价洗涤效果,可用衣服上残留的污物质量与洗涤前污物质量之比作为评价指标。在设计每轮加水量时,要考虑洗衣机本身洗衣同的最大容积,运行的最低加水量。 1.1.2基本假设及说明 1.洗衣机一次用水量有最高限和最低限,能连续补充在限度内的任意水量; 2.洗衣机每轮运行过程为:加水-漂洗-脱水; 3.仅在第一轮运行时加上洗涤剂,在后面的运行轮中仅有稀释作用; 4.洗衣时所加的洗涤剂适量,漂洗时间足够,能使污垢一次溶解,忽略不能溶解的污垢; 5.脱水后的衣服质量与干衣服的重量成正比; 6.每缸洗衣水只用一次; 1.1.3符号和变量说明 A:污物的质量(kg);

matlab实验报告

实验报告 实验课程:MATLAB综合实验 学生姓名: 学号: 专业班级: 2012年 5 月 20 日 实验四模拟滤波器频率特性测试 一、实验目的 1、掌握低通无源滤波器的设计; 2、学会将无源低通滤波器向带通、高通滤波器的转换; 3、了解常用有源低通滤波器、高通滤器、带通滤波器、带阻滤波器的结构与特性; 二、预备知识 1、学习“模拟滤波器的逼近”; 2、系统函数的展开方法; 3、低通滤波器的结构与转换方法; 预习报告中回答以下问题: 1、实际中常用的滤波器电路类型有哪些,有何特点? 2、有源滤波器、无源滤波器的概念,优缺点和各自的应用场合? 3、绘出低通、带通、带阻、高通四种滤波器的理想频响曲线及实际频响曲线,两者 有何根本区别,产生原因? 三、实验原理 模拟滤波器根据其通带的特征可分为: (1)低通滤波器:允许低频信号通过,将高频信号衰减; (2)高通滤波器:允许高频信号通过,将低频信号衰减; (3)带通滤波器:允许一定频带范围内的信号通过,将此频带外的信号衰减; (4)带阻滤波器:阻止某一频带范围内的信号通过,而允许此频带以外的信号衰减; 各种滤波器的频响特性图: 图2一1低通滤波器图2一2高通滤波器 图2一3带通滤波器图2一4带阻滤波器 在这四类滤波器中,又以低通滤波器最为典型,其它几种类型的滤波器均可从它转 化而来。 1、系统的频率响应特性是指系统在正弦信号激励下系统的稳态响应随激励信号频率变

化的情况。用矢量形式表示: 其中:|H(j ω)|为幅频特性,表示输出信号与输入信号的幅度比随输入信号频率的变化关系;φ(ω)为相频特性,表示输出信号与输入信号的相位差随输入信号频率的变化关系。 2、H(j ω)可根据系统函数H(s)求得:H(j ω)= H(s)︱s=j ω因此,对于给定的电路可根椐S 域模型先求出系统函数H(s),再求H(j ω),然后讨论系统的频响特性。 3、频响特性的测量可分别测量幅频特性和相频特性,幅频特性的测试采用改变激励信号的频率逐点测出响应的幅度,然后用描图法描出幅频特性曲线;相频特性的测量方法亦可改变激励信号的频率用双踪示波器逐点测出输出信号与输入信号的延时τ,根椐下面的公式推算出相位差 当响应超前激励时为 ()φω正,当响应落后激励时()φω为负。 四、实验原理图 图2一5实验电路 图中:R=38k Ω,C=3900pF ,红色框内为实验板上的电路。 五、实验前预习内容: 1、写出原理图中高、低通及并联后滤波器网络的电压移函数,计算截止频率,并画出幅 频特性及相频特性曲线; 2、测试频率特性时,测试点频率应如何选取。 六、实验内容及步骤: 将信号源CH1的信号波形调为正弦波,信号的幅度调为Vpp=10V 。 1、RC 高通滤波器的频响特性的测量: 将信号源的输出端(A)接实验板的IN1端,滤波后的信号OUT1接示波器的输入(B) 。根据被测电路的参数及系统的频特性,将输入信号的频率从低到高逐次改变十 次以上(幅度保持Vipp=10v) , 逐个测量输出信号的峰峰值大小(Vopp)及输出信号与输入信号的相位差 ,并将测量数据填入表一: 表一 得到幅频特性为: 2.RC 低通滤波器的频响特性的测量: 将信号源的输出(A)接实验板的IN2,滤波后的输出信号OUT2接示波器的输入(B) 。根

MATLAB实验报告实例

MATLAB课程设计 院(系)数学与计算机学院 专业信息与计算科学 班级 学生姓名 学号 指导老师赵军产 提交日期

实验内容: 1. Taylor逼近的直观演示用Taylor 多项式逼近y = sin x. 已知正弦函数的Taylor 逼近式为 ∑= - - -- =≈ n k k k k x x P x 1 1 2 1 !)1 2( )1 ( ) ( sin. 实验目的: 利用Taylor多项式逼近y = sin x,并用图形直观的演示。 实验结果报告(含基本步骤、主要程序清单、运行结果及异常情况记录等): 1.将k从1取到5,得到相应的P = x-1/6*x^3+1/120*x^5-1/5040*x^7+1/362880*x^9; 2.用MATLAB进行Taylor逼近,取x的范围是(- 3.2,3.2);程序清单如下: syms x; y = sin(x); p = x - (x^3)/6 + (x^5)/120 - (x^7)/5040 + (x^9)/362880 x1 = -3.2:0.01:3.2; ya = sin(x1); y1 = subs(p,x,x1); plot(x1,ya,'-',x1,y1)

4.程序运行正常。 思考与深入: 取y = sin x 的Taylor 多项式为P 的逼近效果很良好,基本接近y = sin x 的图像,不过随着k 的取值变多,逼近的效果会越来越好。 实验内容: 2. 数据插值 在(,)[8,8][8,8]x y =-?-区域内绘制下面曲面的图形: 222 2 sin( )x y z x y += + 并比较线性、立方及样条插值的结果。 .

Matlab数学实验一2015(标准答案版)

Matlab数学实验一——matlab初体验 一、实验目的及意义 [1] 熟悉MATLAB软件的用户环境; [2] 了解MATLAB软件的一般目的命令; [3] 掌握MATLAB数组操作与运算函数; 通过该实验的学习,使学生能熟悉matlab的基础应用,初步应用MATLAB软件解决一些简单问题。 二、实验内容 1.认识matlab的界面和基本操作 2.了解matlab的数据输出方式(format) 3. MATLAB软件的数组(矩阵)操作及运算练习; 三、实验任务 根据实验内容和步骤,完成以下具体实验,要求写出实验报告(实验目的→问题→原理→算法与编程→计算结果或图形→心得体会) 完成如下题目,并按照实验报告格式和要求填写实验报告 1.在commandwindow中分别输入如下值,看它们的值等于多少,并用matlab的help中查询这些缺省预定义变量的含义,用中文写出它们的意义。 ijeps inf nan pi realmaxrealmin 2.分别输入一个分数、整数、小数等,(如:a=1/9),观察显示结果,并使用format函数控制数据的显示格式,如:分别输入format short、format long、format short e、format long g、format bank、format hex等,然后再在命令窗口中输入a,显示a的值的不同形式,并理解这些格式的含义。 3.测试函数clear、clc的含义及所带参数的含义(利用matlab的help功能)。 4. 写出在命令窗口中的计算步骤和运行结果。 (1)计算 1.22 10 (ln log) 81 e ππ +- ; >>(log(pi)+log(pi)/log(10)-exp(1.2))^2/81 >>ans = 0.0348 (2) >> x=2;y=4; >> z=x^2+exp(x+y)-y*log(x)-3 z = 401.6562 (3)输入变量 13 5.3, 25 a b ?? ==?? ?? ,在工作空间中使用who,whos,并用save命令将变量存入”D:\exe0 1.mat”文件。测试clear命令,然后用load命令将保存的”D:\exe01.mat”文件载入>> a=5.3 a=

MATLAB实现通信系统仿真实例

补充内容:模拟调制系统的MATLAB 仿真 1.抽样定理 为了用实验的手段对连续信号分析,需要先对信号进行抽样(时间上的离散化),把连续数据转变为离散数据分析。抽样(时间离散化)是模拟信号数字化的第一步。 Nyquist 抽样定律:要无失真地恢复出抽样前的信号,要求抽样频率要大于等于两倍基带信号带宽。 抽样定理建立了模拟信号和离散信号之间的关系,在Matlab 中对模拟信号的实验仿真都是通过先抽样,转变成离散信号,然后用该离散信号近似替代原来的模拟信号进行分析的。 【例1】用图形表示DSB 调制波形)4cos()2cos(t t y ππ= 及其包络线。 clf %%计算抽样时间间隔 fh=1;%%调制信号带宽(Hz) fs=100*fh;%%一般选取的抽样频率要远大于基带信号频率,即抽样时间间隔要尽可能短。 ts=1/fs; %%根据抽样时间间隔进行抽样,并计算出信号和包络 t=(0:ts:pi/2)';%抽样时间间隔要足够小,要满足抽样定理。 envelop=cos(2*pi*t);%%DSB 信号包络 y=cos(2*pi*t).*cos(4*pi*t);%已调信号 %画出已调信号包络线 plot(t,envelop,'r:','LineWidth',3); hold on plot(t,-envelop,'r:','LineWidth',3); %画出已调信号波形 plot(t,y,'b','LineWidth',3); axis([0,pi/2,-1,1])% hold off% xlabel('t'); %写出图例 【例2】用图形表示DSB 调制波形)6cos()2cos(t t y ππ= 及其包络线。 clf %%计算抽样时间间隔 fh=1;%%调制信号带宽(Hz) fs=100*fh;%抽样时间间隔要足够小,要满足抽样定理。 ts=1/fs; %%根据抽样时间间隔进行抽样

MATLAB数学实验A

clear; clc; a=1;b=1; ezplot(sprintf('x^2/%f-y^2/%f',a^2,b^2)); hold on; ezplot(sprintf('x^2/%f-y^2/%f-1',a^2,b^2)); ezsurf('sin(a)*cos(b)','sin(a)*sin(b)','cos(a)',[0,pi,0,2*pi],60); hold on; ezsurf('x^2+y^2',[-1,1,-1,1],60);

clear all; x=-8:0.1:8; y=-8:0.1:8; [X,Y]=meshgrid(x,y); Z=sin(sqrt(X.^2+Y.^2))./sqrt(X.^2+Y.^2+2); [X,Y,Z]=peaks(50); surf(X,Y,Z)

syms x y; y=2*x^3-6*x^2-18*x+7; solve(diff(y,x),x) x=-1;eval(y) x=3;eval(y)

syms x y; z='x*y'; dblquad(z,1,4,-1,2) 结果 ans = 11.2500 求函数1+x -exp(2*x)+5的原函数clear all syms x C; f=int(1+x -exp(2*x)+5,'x')+C syms x y; >> x=0:0.01:1; >> y=sin(sin(x)); >> trapz(x,y)

x=0:0.05:1; y=[1.97687 2.17002 2.34158 2.46389 2.71512 3.06045 3.27829 3.51992 3.8215 4.2435 4.55188 4.88753 5.15594 5.698 6.04606 6.42701 7.00342 7.50192 7.89178 8.49315 9.0938] cftool 解常微分方程y’=-0.9y/(1+2x)的数值解y(0)=1 从0到0. 1的数值解,取步长0.02 clear all x1=0; x2=0.1; h=0.02; y(1,1)=1;

相关文档
相关文档 最新文档