MATLAB实验教案Word文档下载推荐.docx
- 文档编号:6791031
- 上传时间:2023-05-07
- 格式:DOCX
- 页数:28
- 大小:204.20KB
MATLAB实验教案Word文档下载推荐.docx
《MATLAB实验教案Word文档下载推荐.docx》由会员分享,可在线阅读,更多相关《MATLAB实验教案Word文档下载推荐.docx(28页珍藏版)》请在冰点文库上搜索。
a=[1210;
0101;
0002;
0003];
b=[1252;
012-4;
00-43;
0009];
3.数组的运算
已知a=[12;
34],b=[10;
10],分别进行左除与右除运算。
>
a./b与>
b.\a
ans=1Inf
3Inf
a.\b与>
b./a
ans=1.00000
0.33330
4.复数的运算
例:
a=[1+i,2+2i,3+3i];
a=[1+i,2+2*i,3+3*i];
real(a)%求实部
ans=123
imag(a)%求虚部
abs(a)%求模
ans=1.41422.82844.2426
angle(a)%求相角
ans=0.78540.78540.7854
5.数值计算函数,掌握一般基本函数使用
①取整函数
求±
0.1、±
0.9、±
2.01四种取整函数(fix、ceil、floor、round)的值。
fix(0.1)、floor(0.1)、round(0.1)%结果均为0,ceil(0.1)结果为1;
fix(-0.9),floor(-0.9),round(-0.9),ceil(-0.9)%结果为0-1-10
fix(2.01),floor(2.01),round(2.01),ceil(2.01)%结果为2223
②求模、求余函数并比较
mod(-16,3);
rem(-16,3),结果前者是2,后者是-1。
③三角函数
t=(0:
0.01:
1)*2*pi;
y1=sin(t);
y2=sin(t).*sin(t)
指数、对数、幂指数的使用,包括exp、log10、log、log2、pow2。
a=exp(4),b=pow2(10),c=log10(10)
6.关系与逻辑运算
a=rand(1,10);
%0.27600.67970.65510.16260.11900.49840.95970.34040.58530.2238
r1=(a>
0.5)&
(a<
0.8);
%r1=0110000010
r2=find((a>
0.8));
%r2=239
r3=~r1;
%r3=1001111101
x=all([110;
100;
110])%x=100
注意事项
授课人:
乔世坤授课班级:
通信地点:
时间:
年月日节
实验三MATLAB的图形绘制与符号运算
1.掌握基本的MATLAB图形绘制指令的运用以及常用参数的调整。
2.让学生熟悉MATLAB符号计算包括符号运算的基本操作、微分与积分运算、线性代数中的符号运算、求解方程和方程组。
1.t=-pi:
pi;
x1=sin(t);
x2=sin(t).^2;
plot(t,x1,'
b'
t,x2,'
r:
'
)
title('
图名'
);
xlabel('
x轴'
ylabel('
y轴'
legend('
图例'
-1);
5.创建符号变量、变量和表达式
符号变量和数值变量的转换,将一数值矩阵转换为符号矩阵
A=[121;
234;
132];
sym(A);
6、微分与积分运算
a)查找符号的自变量
findsym(f,1);
%查找f中的第一个自变量
b)微分运算
求x=a*cos(t)^3的微分
symsat;
x=a*cos(t)^3;
diff(x)%结果ans=-3*a*cos(t)^2*sin(t)
c)积分运算
求log(log(x))/x的积分
inv(log(log(x))/x)结果为1/log(log(x))*x
7.求和运算和Tolor展开
输入symsum((-1)^k/k,1,inf)%求
,结果为-log
(2)
输入symsum((-1)^k.*(x.^k)/k,k,1,inf)%
结果为-log(1+a*cos(t)^3)
求f=exp(x)函数Tolor展开
输入f=exp(x);
taylor(f,5)结果为:
1+x+1/2*x^2+1/6*x^3+1/24*x^4
试求sinx、cosx的Tolor展开式。
输入f=sin(x);
x-1/6*x^3
输入f=cos(x);
1-1/2*x^2+1/24*x^4
8.极限运算
例 当n→inf, 求limit(1+1/n)1/2 的值
limit((1+1/n)^(1/2),n,inf)即可。
求当x→0时,(x^2-x-1)/(x-1)^2的极限值。
limit((x^2-x-1)/(x-1)^2,x,0)即可,结果为-1。
9.线性代数中的符号运算
A=
将A转换为符号矩阵,求eig(A)、[v,d]=eig(A)、poly(A)。
输入A=[3-1;
-13];
A=sym(A);
eig(A),[v,d]=eig(A),poly(A)
ans=4
2
v=[-1,1]
[1,1]
d=[4,0]
[0,2]
ans=x^2-6*x+8
B=
将B转换为符号矩阵,求eig(B)、[v,d]=eig(B)、poly(B)。
10.求解方程和方程组
求
的解;
输入[x,y]=solve('
x*y=3'
'
x*x+y=4'
x=[1]
[-1/2+1/2*13^(1/2)]
[-1/2-1/2*13^(1/2)]
y=[3]
[1/2+1/2*13^(1/2)]
[1/2-1/2*13^(1/2)]
求微分方程Dy=sin(t)的解;
输入:
dsolve('
Dy=sin(t)'
) 结果是-cos(t)+C1
求D2y+Dy-y=sin(x)
输入:
dsolve('
D2y+Dy-y=sin(x)'
x'
)
结果是:
-1/5*cos(x)-2/5*sin(x)+C1*exp(1/2*(5^(1/2)-1)*x)+C2*exp
年月日节
实验二MATLAB的程序设计
让学生掌握MATLAB脚本文件和M函数文件两种形式程序设计的方法,包括关系与逻辑运算、控制流程语句等内容。
掌握MATLAB的M文件调试的基本方法。
1.写出所编写的实验内容2的M脚本文件和M函数文件。
2.写出所编写的实验内容3-5的程序。
2、编程n!
分别求M脚本文件和M函数文件编程。
functions=jiecheng(n)
%t此函数功能是求阶乘,n输入变量
i=1;
s=1;
fori=1:
n
s=s*i;
end
脚本文件:
n=input('
请输入n值'
3、function[a,b]=tongji
%统计十个数正负数个数
a=0;
b=0;
10
f=input('
请输入一个数值'
iff>
a=a+1;
elseiff<
b=b+1;
else
break;
end
disp('
正数的个数'
),disp(a);
负数的个数'
),disp(b);
3、根据奖金的不同,税率不同。
如下:
当奖金高于3000时,r=0.15,当奖金高于2000时,r=0.1,当奖金高于1000时,r=0.08,当奖金低于1000时,r=0.05,计算扣税后的奖金。
functions=koushui(n)
%扣税程序
ifn>
=3000r=0.15;
elseifn>
2000r=0.1;
1000r=0.08;
elser=0.05;
s=n-n*r;
5.编写程序,将某班学生某门课的成绩为60,75,85,96,52,36,86,56,94,84,77,用switch结构统计各分段的人数,并将各人的成绩变为优、良、中、及格和不及格表示。
c=0;
d=0;
e=0;
x=[60,75,85,96,52,36,86,56,94,84,77];
x1=fix(x/10);
n=length(x1);
7
y(i,:
)=blanks(8);
switchx1(i)
case9
)='
优秀'
;
case8
良好'
case7
中等'
c=c+1
case6
及格'
d=d+1;
otherwise
不及格'
e=e+1;
fprintf('
%d学生成绩等级为%s\n'
x(i),y(i,:
));
fprintf('
各段学生人数’%d,%d,%d,%d%d\n'
a,b,c,d,e);
6.编写m脚本文件,分别使用for和while循环语句计算
使用for循环语句:
sum=0;
forxh=1:
sum=sum+xh.^3;
disp(sum);
使用while循环语句:
xh=1;
whilexh<
=10
xh=xh+1;
disp(sum)
实验四MATLAB数值计算
掌握一些数值计算功能,内容包括数据分析、矩阵分析、多项式运算、函数分析、数值积分、常微分方程求解等方面的应用。
1.矩阵分析
矩阵的性质分析
求det(A)、rank(A)、inv(A)、A’等。
输入a=[-211;
020;
-413]
inv(a)%求逆矩阵
ans=
-1.50000.50000.5000
00.50000
-2.00000.50001.0000
det(a)%求行列式值
ans=-4
a'
%求矩阵转置
ans=-20-4
121
103
rank(a)%求秩ans=3
求方程
的解。
a=[634;
-257;
8-4-3;
15-7];
b=[3;
-4;
-7;
9];
a\b
a=[2421;
-1202;
3521];
b=[1;
4;
6];
矩阵分解
矩阵的特征值
a=[3-1;
eig(a)
ans=2
4
[v,d]=eig(a)
v=-0.7071-0.7071
-0.70710.7071
d=20
04
poly(a)
ans=1-68
inv(v)*d*v
ans=3-1
-13
矩阵结构形式的提取和变换
2.学会基本的MATLAB多项式运算
部分分式分解
的部分分式展开式
b1=[12];
b2=[15];
b=10.*conv(b1,b2);
a1=[10];
a2=[11];
a3=[13];
a4=conv(a1,a2);
a=conv(a3,a4);
[r,p,k]=residue(b,a)
%r=[3.3333-20.000033.3333]’;
p=[-3-10]’即
已知表达式g(x)=(x-4)(x+5)(x2-6x+9),展开多项式,并计算当x=[0:
20]取值处对应的g(x)值,计算出g(x)=0的根。
b1=[1-4];
b3=[1-69]
m=conv(b1,b2);
p=conv(m,b3)
g=polyval(p,[0:
20])
roots(p)
将多项式g(x)=x4-5x3-17x2+129x-180,当x=[0:
20]取值的多项式值g加上随机数的偏差(偏差大小自定)构成g1,对g1分别进行3阶、4阶拟合;
g1=g+10.*rand(1,21)
polyfit([0:
20],g1,3)
20],g1,4)
x=0:
y=[0,1.8,2.1,0.9,0.2,-0.5,-0.2,-1.7,-0.9,-0.3];
%已知十组数据
x1=0:
利用一维插值函数interp1进行插值,计算x1对应各点值。
要求:
选择三种以上插值方式,并作图比较。
y1=interp1(x,y,x1,'
linear'
y2=interp1(x,y,x1,'
spline'
y3=interp1(x,y,x1,'
cubic'
3.熟悉数据分析与统计函数
如max、min、mean、sum、sort、cov、std、diff等。
例a=[123456];
b=[246863]
x=[69340;
54125;
67780;
789100]
y=max(a)%最大值
[xm,index]=max(x)%index返回一个下标向量
mean(x)%最平均值
cov(x)%协方差矩阵C对角线元素代表矩阵第i列的方差;
%非对角线上的元素代表第j、i列方差.
s=std(x,0)%求标准偏差函数
s=0.81652.16023.65153.65152.5000
s=std(x,1)%求标准偏差函数
s=0.70711.87083.16233.16232.1651
[e,index]=sort(x)%排序函数
[e,index]=sort(b)%排序函数
4.函数分析与数值积分(选作)
利用内联函数inline创建一个内联对象;
f=inline('
1./((x-0.3).^2+.01)+1./((x-0.9).^2+.04)-6'
利用fplot或ezplot绘图
在区间
上函数曲线。
f='
2*exp(-x).*sin(x)'
figure
(1);
ezplot(f,[08]);
figure
(2);
fplot(f,[08]);
用数值积分法求解微分方程:
。
设初始时间
,终止时间
,初始条件
,
clf,t0=0,tf=3*pi;
xot=[0;
[t,x]=ode45('
exampfun'
[t0,tf],xot)
y=x(:
1);
functionxdot=exampfun(t,x)
u=1-(t.^2)/(pi*2);
xdot=[0,1;
-1,0]*x+[0,1]'
*u;
④计算积分
y=quadl('
x.^2.*sqrt(2*x.^2+3)'
1,5)
机电工程学院教案
实验五Simulink仿真应用
1.初步了解Simulink,熟悉Simulink的窗口环境,掌握Simulink的基本操作,学会利用Simulink搭建模型。
2.掌握Simulink基本的仿真参数设置。
3.了解Simulink中的子系统的概念,并学会对子系统进行封装
1.画出实验内容1、2的仿真模型图。
2.画出实验内容3的仿真模型图,并简要说明其封装过程。
1.
2.用Simulink来实现两个正弦信号的相乘,假定两个正弦波的频率分别是1Hz和10Hz,幅值为1,采用定步长法,并将最大步长设为0.001秒。
在simulation\simulationparameters中设置定步长法,最大步长为0.001秒。
SineWave的参数设置中,输入频率为角频率值。
3.练习对子系统进行封装,子系统用于实现y=ax3+bx+c。
封装系统的一般过程:
选中待封装的子系统,在主菜单中执行“Edit”/“Masksubsystem”命令,对“封装子系统”各个选项卡进行设置。
其中:
“Parameters”选项卡---定义封装子系统的参数设置,设置参数设置对话框中出现的参数设置提示符、该参数与子系统内部哪能个变量相关联。
“Initialization”选项卡---对封装子系统进行初始化。
“Iron”选项卡---定义封装子系统的外观。
“Documentation”选项卡---定义封装子系统的文档。
子系统模型图
验证模型图
4.练习模型与工作空间的数据交换。
从工作空间中获取输入
外部输入可以是数组、带时间项的结构、输入时间表达式。
试一试仿真结果送入工作空间。
Array(数组)
0.1:
10)'
u=[exp(t),sin(t),cos(t)];
5.熟悉Simulink的常用功能模块,如Sources模块库正弦、阶跃信号等,Sinks中示波器等。
实验六电子电路仿真
1.学习如何利用MATLAB进行电路分析及其技巧。
2.掌握如何使用MATLAB来实现对组合逻辑电路、数字时序逻辑电路的仿真及其方法和技巧。
1.写出实验内容1的仿真程序。
2.画出实验内容2的Simlink仿真模型,并做简要说明。
3.画出实验内容3的Simlink仿真模型,写出主要仿真参数设置及结果。
4.画出实验内容5的Simulink仿真模型及仿真结果图。
1.编写M文件进行仿真,求电路图中流过R5的电流。
程序如下:
r1=10;
r2=10;
r3=4;
r4=4;
r5=8;
r6=2;
v1=40,v2=20;
a11=r6+r2+r4;
a12=-r2;
a13=-r4;
a21=-r2;
a22=r2+r1+r3;
a23=-r3;
a31=-r4;
a32=-r3;
a33=r3+r4+r5;
b1=-v1;
b2=-v2;
b3=v2;
a=[a11,a12,a13;
a21,a22,a23;
a31,a32,a33];
b=[b1;
b2;
b3];
i=a\b;
i(3)
2.含有受控源电路如下,试画出Simlink仿真模型图,并做简要说明。
4.利用Simulink模块搭建一位二进制比较器的仿真模型。
(选作)
4.在上题基础上,利用Simulink模块搭建一个2位二进制比较器的仿真模型。
5.若RC充放电电路如下图,电阻R=1,c=500uf,试利用Simulink仿真RC充电过程。
实验七数字信号处理仿真
初步了解如何使用MATLAB来实现对数字信号处理的仿真,掌握常用信号的仿真,初步了解对离散时间信号分析的仿真方法。
1.写出所编写的实现实验内容3、4的程序。
2.写出所编写的卷积计算函数。
3.写出实验内容5实现语句及结果。
1.常用信号信号仿真
2.编程实现信号序列的运算
3.n=[0:
10]
w=randn(size(n));
x=n.*(stepseq(0,0,10)-stepseq(5,0,10));
x=x+w;
subplot(2,1,1);
stem(n,x);
n'
x(n)'
[x1,n1]=sigfold(x,n);
[x1,n1]=sigshift(x1,n1,2);
[x2,n2]=sigshift(x,n,-1);
[x2,n2]=sigmult(x,n,x2,n2);
[y,m]=sigadd(x1,n1,x2,n2);
subplot(2,1,2);
stem(m,y);
y'
4.产生如下序列并绘图
x(n)=n[u(n)-u(n-5)]+w(n)(0<
=n<
=10)
y(n)=x(2-n)+x(n)*x(n+1)
其中,w(n)具有零均值及单位方差的高斯随机
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- MATLAB 实验 教案