计算机辅助设计与仿真实验报告Word下载.docx
- 文档编号:19643496
- 上传时间:2023-01-08
- 格式:DOCX
- 页数:39
- 大小:957.36KB
计算机辅助设计与仿真实验报告Word下载.docx
《计算机辅助设计与仿真实验报告Word下载.docx》由会员分享,可在线阅读,更多相关《计算机辅助设计与仿真实验报告Word下载.docx(39页珍藏版)》请在冰豆网上搜索。
486612441
Z=D.^3
164343
5121258
272160
Z=3.^D
3812187
65612439
277291
4、输入X=[-101],计算Y=X-1,l=length(X),pi*X,X*Y'
,Y'
*X,验证矩阵的左乘与右乘不相等,此外,试举例比较size和length的区别。
X=[-101];
Y=X-1
Y=
-2-10
l=length(X)
l=
3
pi*X
ans=
-3.141603.1416
X*Y'
2
Y'
*X
ans=
20-2
10-1
000
size(X)
13
5、输入A=[1,2,3;
4,5,6],B=[2,4,0;
1,3,5],D=[1,4,7;
8,5,2,;
3,6,0],计算D\A'
A/D,掌握矩阵的左除与右除的含义。
A=[1,2,3;
4,5,6];
B=[2,4,0;
1,3,5];
D=[1,4,7;
3,6,0];
D\A'
-0.03700
0.51851.0000
-0.14810
A/D
0.40740.07410.0000
0.74070.40740.0000
6、
(1)计算
时值。
(2)
(1)>
y1=2^3+(2-0.98)^2/(2+1.25)^3-5*(2+1/2)
y1=
-4.4697
y2=4^3+(4-0.98)^2/(4+1.25)^3-5*(2+1/4)
y2=
52.8130
(2)>
cos(pi/3)-sqrt(9-sqrt
(2))
-2.2542
7、请建立一个等比数列,然后由它产生一个对角阵,并储存这个矩阵。
调出上面储存的矩阵,并由它产生一个列向量。
A=[124816]
A=
124816
B=diag(A)
B=
10000
02000
00400
00080
000016
B(:
3)
0
4
8、向量的产生,直接输入
利用linspacelogspace及t=m:
s:
n方式产生,并对所产生的向量进行加减乘除操作,区分向量操作与矩阵的区别。
直接输入:
A=[1234567]
1234567
B=linspace(2,9,7)
2.00003.16674.33335.50006.66677.83339.0000
C=logspace(1,2,7)
C=
10.000014.678021.544331.622846.415968.1292100.0000
B+C
12.000017.844725.877737.122853.082675.9625109.0000
B-C
-8.0000-11.5113-17.2110-26.1228-39.7492-60.2959-91.0000
B.*C
20.000046.480393.3588173.9253309.4393533.6788900.0000
B.\C
5.00004.63524.97185.74966.96248.697311.1111
3、总结
(1)思考题
1、MATLAB中元素运算和矩阵运算的区别是什么?
答:
元素运算用:
.+、.-、.*、./,即点加、点乘等等,是对元素的运算操作;
矩阵用:
+、-、*、/,可能会改变矩阵的维数。
2、矩阵的左除与右除的含义是什么?
xA=B即:
x=B/A,右除;
Ax=B即:
x=A\B,左除。
(2)实验体会:
对于这次实验,由于已经学过matlab这门课,所以觉得比较基础,没有什么困难,只不过要清楚元素运算和矩阵运算的区别。
通过这次实验,我更加熟悉了matlab的环境。
实验二、M文件的编写及调试
1、实验目的
1、熟悉MATLAB中M文件的编辑环境;
2、掌握MATLAB中M文件的编写与调试;
3、熟悉MATLAB中基本程序语句的使用;
2、实验内容及结果
1、在命令窗口中输入edit命令,观察M文件编辑器的组成及各部分功能。
2、在命令窗口中输入helpfunction,观察function函数的功能,并编写排序函数对输入元素进行排序:
格式:
paixu(A,B),其中A为一矩阵或向量,函数实现对A中元素进行排序,B为0表示升序,为1表示降序;
当A为矩阵时实现对矩阵A的各行进行排序。
(要求,循环结构分别利用for、while语句实现;
升降序选择用switch语句实现)。
M文件(for):
functiona=paixu(A,B);
c=length(A);
switchB
case0
fori=1:
c-1;
forj=i+1:
c;
if(A(i)>
A(j))
k=A(i);
A(i)=A(j);
A(j)=k;
a=A;
end
end
case1
if(A(i)<
调试:
A=[251693];
paixu(A,0)
123569
paixu(A,1)
965321
M文件(while):
functiona=paixu(A,B)
i=1;
while(i<
=c-1)
A(i+1))
A(i)=A(i+1);
A(i+1)=k;
i=i+1;
=c-1)
end
3、根据2中观察所得的function帮助内容,在paixu函数中加入提示别人调用该函数的帮助内容。
helppaixu
4、自行编写函数,定义全局变量及局部变量,并进行访问,观察全局变量与局部变量的区别。
局部变量:
functionlocal
x=rand(2,2);
y=[678;
394];
z='
函数中的变量'
;
u={x,y,z};
disp(z)
whos
local
函数中的变量
NameSizeBytesClassAttributes
u1x3272cell
x2x232double
y2x348double
z1x612char
全局变量:
globalxyz
xyz=43
xyz=
43
whos
xyz1x18doubleglobal
xyz=54
54
clearxyz
whos
whosglobal
xyz=78
78
xyz1x18double
globalxyz
Warning:
Thevalueoflocalvariablesmayhavebeenchangedtomatchthe
globals.FutureversionsofMATLABwillrequirethatyoudeclare
avariabletobeglobalbeforeyouusethatvariable.
xyz
5、编写一个函数,输入参数个数为2~5,输出参数个数为1~3,利用函数nargin、nargout及nargchk完成判断输入参数个数功能,输入、输出参数个数不同,函数返回结果不同。
当输入或者输出参数个数不在此范围内时,返回错误或警告提示。
(error或warning)
unctionc=testarg(a,b)
%TESTARG检测输入输出参数个数
%该函数根据不同的输入输出参数个
%数进行相应的操作
if(nargout~=1)
disp('
使用该函数必须指定一个输出参数!
'
);
return
switchnargin
case0
disp('
使用该函数至少需要一个输入参数!
c=[];
return
case1
c=a.^2;
case2
c=a+b;
end
6、编写M文件试用input函数的功能:
functionlqm
a=input('
输入(1,5,10):
lqm
1
1
7、提示‘请输入…’分别实现输入数字和字符串
input('
请输入数字:
\n'
请输入字符串:
'
s'
)
24678
longqianmei
8、请编写一个判断数据(整数)奇偶性的函数。
两种方法(1、('
用if-elseif-end语句判断奇偶数'
),2、'
用switch-case语句判断奇偶数)
第一种方法:
functiony=f(x)
if(mod(x,2))
奇数'
else
偶数'
f(89)
奇数
f(36)
偶数
第二种方法:
functiony=y(x)
y=mod(x,2);
switchy
y=0;
y=1;
y(36)
y(57)
1、MATLAB中M文件的编写与调试的过程是什么?
在file-new-'
M_File'
里面编写M文件,看右边的调试框,当呈现红色时说明有语法错误等,直到是绿色为止,程序已然无任何语法错误,然后保存在matlab的根目录work里面。
2、MATLAB中基本程序语句的如何使用?
调用M文件可直接调用文件名,注意文件名不能用matlab自带的函数命名,否则就不能正常调用M文件。
因为一同会优先考虑那是系统函数,而不是文件名。
3、实验体会:
此次实验,根据实验题目和老师的课件,基本上没什么问题,最大的问题是在编写M文件排序上,由于要用到C语言的知识,所以有很多不熟,不过在同学和老师的帮助下,最终还是成功了。
实验三、MATLAB绘图及信号产生
1、掌握MATLAB的二维、三维绘图方法;
2、掌握MATLAB产生基本的信号。
1、绘制如下图所示的图形(使用plotezplotmeshgridsurfmesh)。
t=0:
pi/25:
2*pi;
x=sin(t);
y=cos(t);
plot(x,y),gridon
pi/50:
y1=sin(t);
y2=cos(t);
plot(t,y1,'
r'
t,y2,'
:
b'
),title('
正弦曲线和余弦曲线'
),xlabel('
弧度值'
),ylabel('
函数值'
),gridon
(3)其中f(x,y)=3*(1-X).^2.*exp(-(X.^2)-(Y+1).^2)-10*(X/5-X.^3-Y.^5).*exp(-X.^2-Y.^2)-1/3*exp(-(X+1).^2-Y.^2)
[X,Y]=meshgrid(-4:
0.125:
4);
Z=3*(1-X).^2.*exp(-(X.^2)-(Y+1).^2)-10*(X/5-X.^3-Y.^5).*exp(-X.^2-Y.^2)-1/3*exp(-(X+1).^2-Y.^2);
subplot(2,1,1);
mesh(X,Y,Z);
gridon
subplot(2,1,2);
surf(X,Y,Z);
shadinginterp
2、利用sin、cos、sawtooth、square分别生成一连续和离散时间周期信号,要充分利用其中每个函数的参数。
n=0:
pi/20:
y1=sin(n);
subplot(2,1,1),plot(n,y1),gridon
subplot(2,1,2),stem(n,y1),gridon
y2=cos(n);
subplot(2,1,1),plot(n,y2),gridon
subplot(2,1,2),stem(n,y2),gridon
pi/10:
10*pi;
y3=sawtooth(t,1);
subplot(2,1,1),plot(y3),gridon
subplot(2,1,2),stem(y3),gridon
t=0:
0.001:
15*pi;
y=square(t,20);
plot(t,y);
axis([025-1.51.5])
n=-10:
10;
y=square(n,20);
stem(y)
3、分别生成离散时间的单位冲击信号和单位阶跃信号。
冲击函数
n=1:
N=5;
seg=[n-N==0];
stem(n,seg)
阶跃函数
seg=[n-N>
=0];
stem(n,seg);
4、编写程序产生如图1所示的信号向量,并绘制图形。
t=-6:
0.01:
6;
y=
(2).*(t>
=-6&
t<
-4)+(2*(t+3).^2).*(t>
=-4&
-2)+
(2).*(t>
=-2&
0)+(t+2).*(t>
=0&
3)+(-0.5*t+3).*(t>
=3&
=6);
plot(t,y);
对于matlab绘图和信号产生实验,前面基本上没什么难度,最大的难度是最后一个分段函数,本以为还要编写M文件程序来绘图,结果老师讲解了更简单的方法,对于此次实验,我受益匪浅。
实验四、基本SIMULINK仿真系统设计
1、熟悉MATLAB中基本SIMULINK仿真环境;
2、掌握SIMULINK进行系统仿真设计的基本步骤;
3、了解SIMULINK中各模块库;
4、掌握仿真系统参数设置及子系统封装技术;
二、实验内容及结果
1、在命令窗口中输入SIMULINK命令,观察其模块库的构成;
2、了解专业模块库中的communication及DSP,熟悉其中的demo。
3、新建一个模型文件,搭建一个简单的simulink信源系统信宿仿真模型,并进行系统仿真。
改变系统仿真环境参数,观察其变化。
改变参数后:
4、在3步基础上,构建子系统,并设置封装参数,至少2个,以变量方式传递。
示波器:
示波器1:
封装:
子系统:
5、完成一正弦稳态电路的SIMULINK模型仿真及M文件方式仿真实现,并比较两种方式各自的优缺点。
M文件:
w=[1,2];
Us=[10,0];
Is=[0,5];
Z1=1./(0.5*w*j);
Z4=1*w*j;
Z2=[2,2];
Z3=[2,2];
Uoc=(Z2./(Z1+Z2)-Z4./(Z3+Z4)).*Us
Zeq=Z3.*Z4./(Z3+Z4)+Z1.*Z2./(Z1+Z2)
U=Is.*Zeq+Uoc
wUmphi'
disp([w'
abs(U'
),angle(U'
)*180/pi])
U='
3.1623*cos(t-18.4349)+7.0711*cos(2*t-8.1301)'
ezplot(U,[0,20])
1、SIMULINK的基本功能是什么?
交互式、图形化建模环境;
交互式仿真环境;
专用模块库(blocksets)
2、SIMULINK进行系统仿真设计的基本步骤是什么?
选择模块;
模块连接;
信号组合与分支;
运行仿真。
3、如何封装一个子系统?
点击要封装的部分后,再单击右键,点封装。
4、实验体会:
这次实验是将我们的理论知识化为操作能力的开端,让我们更加的理解的理论知识,也提高了我们学习知识的兴趣。
在实验操作中,有些问题,对于我来说,在simulink仿真时,寻找模块是我最大的问题,时常找很久都没有找到,不过现在知道怎么寻找了,以后我应该多多练习。
实验五、基于SIMULINK数字逻辑电路仿真
1、进一步熟悉MATLAB中基本SIMULINK仿真环境及子系统封装技术;
2、掌握SIMULINK数字逻辑电路仿真系统的设计方法;
3、熟悉基本触发器模块的使用;
4、体会SIMULINK系统仿真与M文件系统仿真的差别;
1、设计一8-3线二进制编码器仿真系统,观察其仿真结果;
将其封装为一个子系统模块,并设置传递参数。
参数设置:
PulseGenerator模块:
Pulsetype选择samplebased;
Period设置为8;
Pulsewidth设置为1;
Phasedelay:
X0~X7依次设置为0~7;
LogicalOperator模块:
Operator选择为OR
Numberofinputports设置为4
Scope模块:
设定坐标轴个数为8(输入)和3(输出),
Ticklabel选择all
Scope:
Scope1:
子系统:
2、设计一3-8线二进制译码器仿真系统,观察其仿真结果;
利用编码器和译码器子模块搭建系统,观察输入与输出是否相同。
输入:
输出:
1、SIMULINK数字逻辑电路仿真系统的设计方法是什么?
先根据要求设计电路,再根据电路图选择合适的模块进行模块连接,最后进行仿真。
2、实验体会:
这次实验主要是进一步熟悉MATLAB中基本SIMULINK仿真环境及子系统封装技术;
掌握SIMULINK数字逻辑电路仿真系统的设计方法;
熟悉基本触发器模块的使用;
体会SIMULINK系统仿真与M文件系统仿真的差别。
通过实验我已经十分熟悉了数字逻辑电路仿真的设计方法。
实验六、ProtelDXP中电路原理图设计
1、熟悉ProtelDXP中原理图设计环境;
2、掌握基本的电路原理图设计方法;
3、熟悉原理图元件库的添加过程;
4、熟悉原理图元件库中的基本元器件符号;
5、掌握层次原理图设计的基本方法。
1、打开ProtelDXP软件,观察界面构成;
创建一个工程,在工程中添加一个原理图文件,观察原理图文件编辑器的界面环境构成。
2、在Design下打开Br
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 计算机辅助设计 仿真 实验 报告