计算机仿真实验3700字

举报
资源描述
    计算机仿真实验3700字     各位同学:(1)这是计算机仿真实验内容,给出的实验过程已在matlab上运行,你们可以直接copy在matlab上运行,观察运行结果,对比学习。(2)实验要求写出实验报告,实验报告的内容就按照以下给出的内容来写。 实验一:MATLAB基础入门 实验目的:熟悉MATLAB环境,掌握一维数组的创建,二维数组的创建。 实验过程: (1)一维数组的创建: 观察下列计算结果,理解数组运算的意义: a=[1,2,pi,9,0] b=0:2:10 c=linspace(1,2,10) a(2) b(5) c(6) (2)二维数组的创建: a=[1,2,3,0;9,22,1,1]; 观察下列计算结果,理解数组运算的意义: a(1,2) a(2,3) a(:) a(:,:) a(:,1) a(2,:) [1,2;3,4]+10 [1,2;3,4]*[0.1,0.2;0.3,0.4] [1,2;3,4].\[20,10;9,2] sin([1,2;3,4]) [a,b]=find([1,2;3,4]>=[4,3;2,1]) [a,b] find([1,2;3,4]>=[4,3;2,1]) (3) 观察下列计算结果,理解这些命令的意义 Clear a ; Which ;clc的作用 实验二:MATLAB基础入门 实验目的:掌握MATLAB中基本的二维绘图 基本形式 plot(x,y);plot(x,y,string) 实验过程: 指出以下各个绘图命令的输出图形分别是什么,并上机验证 t=0:pi/20:2*pi;y=sin(t);plot(t,y) t=[0 1]; x=[1 2]; y=[x;3 4]; z=[y;5 6]; plot(t,x,'r') plot(t,y, 'b') plot(t,y') plot(t,z) plot(t,z') 线型 -实线 :虚线 -.点划线 --间断线 点标记 .点 o小圆圈 x叉子符 +加号 *星号 s方格 d菱形 ^朝上三角 v朝下三 >朝右三角 <朝左三角 p五角星 h六角星 颜色 y黄色 m品红色 c青色 r红色 g绿色 b蓝色w白色 上机指出以下各个绘图命令的输出图形分别是什么 t=0:pi/20:2*pi; plot(t,sin(t) ,'r:>') hold on;plot(t,cos(t),'b-.h') title('sin(t),cos(t)的函数图形') xlabel('t=0:pi/20:2*pi;') ylabel('sin(t),cos(t)') legend('sin(t)','cos(t)') 体验grid on /grid off;hold on/hold off;figure(2)的作用 利用 plot 函数在一个坐标系下绘制以下函数的图形: y1=sin(x),y2=cos(x),y3=sin(2*x),x在0到2*pi区间 y1 用黑色间断线点标记为星号 y2 用红色实线点标记为小方格 y3 用蓝色虚线点标记为小圆圈 实验三:MATLAB编程入门 实验目的:掌握matlab编程的基本知识。 用matlab语言编写的程序称为M文件。 掌握input,disp,keyboard,return,pause的用法 掌握常用的顺序控制流程,循环控制流程,选择控制流程的用法。 M文件以.m为扩展名。 实验过程: (1)上机实验 >> edit example 在弹出的编辑窗中输入 a=input('please input a number');a disp(a), disp('b') 保存后在matlab窗口下输入example(即运行example.m)观察输出 结果。 (2)上机实验 >> clear;s=0; >> for n=1:100 s=s+1/n/n; end >> s s =1.6350体会程序运行过程 (3)上机实验: edit exampleswitch 在弹出的编辑窗中输入 trig=input('please input a trigonometric function','s'); switch trig case 'sin' t=0:pi/100:2*pi; plot(t,sin(t)); case 'cos' t=0:pi/100:2*pi; plot(t,cos(t)); otherwise end 保存后在matla窗口下输入exampleswitch(即运行exampleswitch.m), please input a trigonometric function在提示下输入sin,观察输出结果。 实验四:MATLAB编程入门 实验目的:掌握函数文件的编程方法、调用方法。 实验过程: (1)上机实验 edit examplehanshu 在编辑窗口输入 function y=examplehanshu(x) %y=examplehanshu(x) %x为输入变量,y为输出变量。 %x>1时,输出值y=x^2;x<-1,输出值y=3+2*x;x在其他值时,%Revised 江风云 %Copyright 1986-2004 The MathWorks, Inc. %Revision: 1.21 Date: 2012/03/20 10:25:50 y=zeros(size(x)); k1=find(x>1);y(k1)=x(k1).^2; k2=find(x<-1);y(k2)=3+2*x(k2); k3=find(x>=-1&x<=1);y(k3)=x(k3); 保存后在matlab窗口下输入 >> x=-2:0.5:2; >> y=examplehanshu(x);[x',y'] 根据输出结果,体会函数文件的运行。 y=x; (2)上机实验 function [x,y]=naeuler(dyfun,xspan,y0,h) %用途:Euler格式解常微分方程,y'=f(x,y),y(x0)=y0; %格式[x,y]=naeuler(dyfun,xspan,y0,h) %dyfun为函数f(x,y),xspan为求解区间[x0,xN],y0为初值y(x0),h为步长; %x返回节点,y返回数值解。 %Revised 江风云 %Copyright 1986-2004 The MathWorks, Inc. %Revision: 1.21 Date: 2012/03/20 10:25:50 x=xspan(1):h:xspan(2); y(1)=y0; for n=1:length(x)-1 y(n+1)=y(n)+h*feval(dyfun,x(n),y(n)); end x=x';y=y'; 保存后在matlab下运行 >> dyfun=inline('y-2*x/y'); >> [x,y]=naeuler(dyfun,[0,2],1,0.2); [x,y] 根据输出结果体会该函数文件的运行过程。 实验五:SIMULINK入门 实验目的:认识simulink中的基本模块,掌握简单建模的方法。 实验过程:认识Simulink Library Browser中Simulink中的模块; 实验六:SIMULINK入门 实验目的:掌握simulink建模和仿真的基本方法 实验过程:建立模型 非线性的下滑力和空气阻力分别由函数模块来计算。其中标签为Aero Force 的函数模块的对话框中的【Expression】区中应填写0。001*(u[1]+20*sin(0.01*u[2]))^2,标签为Hill Force的应填写30*sin(0.0001*u[1])。显示模块(Display)用作速度表,而示波器模块(Scope)则记录了速度变化曲线。 此模型也是一个轻度刚性问题的很好的例子,为了观察刚性的影响,先以解法0DE45l来运行模型,然后选择0DE15S再运行仿真,观察其区别。 第二篇:控制系统计算机仿真实验-完整版 2300字 MALTAB仿真实验指导书 实验题目: 数值积分方法的MATLAB实现 实验目的: 1.熟练掌握MATLAB的使用方法 2.牢记欧拉法、梯形法和龙格-库塔法的计算过程 3.熟悉欧拉法、梯形法和龙格-库塔法实现二阶动态响应的程序编写 实验内容: 已知被控对象的系数矩阵分别为 A=[-5 -2 -1 -0.5;4 0 0 0;0 2 0 0;0 0 1 0 ] B=[1;0;0;0]; C=[0 0 0.25 0.5]; D=0; 根据欧拉法、梯形法和龙格-库塔法的递推公式,应用MATLAB语言编写相应的仿真程实验要求: 1.取计算步长h=0.65,初值均为零,输入为阶跃信号,取u=25,研究系统25秒的动态过程。 2.取计算步长h=0.01,初值均为零,输入为阶跃信号,取u=25,研究系统25秒的动态过程。 实验算法: 欧拉法递推公式: yk+1=yk+hf(tk,yk) 梯形法的递推公式: 0yk+1=yk+hf(tk,yk) h0yk+1=yk+[f(tk,yk)+f(tk+1,yk+1)]2 四阶龙格-库塔法的递推公式: h?=+yy(K1+2K2+2K3+K4)k?k+16??K1=f(tk,yk) ?hh?=++Kf(t,yK1)?2kk22?hh?=++Kf(t,yK2)3kk?22 ???K4=f(tk+h,yk+hK3) 实验方法: 利用所学过数值积分方法(欧拉法、梯形法和四阶龙格-库塔法),通过MATLAB语言对给定的系统进行仿真 实验步骤: 1 1.了解并掌握基本数值积分的方法,即欧拉法、梯形法、龙格-库塔法,并做比较,了解它们之间的联系与区别和优缺点,其中重点掌握梯形法和四阶龙格-库塔法。 2.通过给定的系统,利用欧拉法、梯形法和四阶龙格-库塔法编写相应MATLAB语言,实现仿真,得出相应的仿真曲线。 3.比较仿真实验结果,并得出结论。 4.撰写实验报告。 实验程序: 1.欧拉法 A=[-5 -2 -1 -0.5;4 0 0 0;0 2 0 0;0 0 1 0]; B=[1;0;0;0]; C=[0 0 0.25 0.5]; D=0; x0=[0;0;0;0];% x0为状态变量的初值,此处以列向量表示; u=25;% u为输入向量; t0=0;% t0为仿真时间的起始时刻; tf=15;% tf为仿真时间的结束时刻; h=0.65;% h=0.01 h为仿真时所取的仿真步长; m=(tf-t0)/h; [r,c]=size(A); for i=1:m for j=1:r x(j)=x0(j)+h*(A(j,:)*x0+B(j,:)*u); end y(i)=C*x'; x0=x'; t(i)=i*h; end plot(t,y) grid on title('useEuler') 2.梯形法 A=[-5 -2 -1 -0.5;4 0 0 0;0 2 0 0;0 0 1 0]; B=[1;0;0;0]; C=[0 0 0.25 0.5]; D=0; x0=[0;0;0;0];% x0为状态变量的初值,此处以列向量表示; u=25;% u为输入向量; t0=0;% t0为仿真时间的起始时刻; tf=15;% tf为仿真时间的结束时刻; h=0.65;% h=0.01 h为仿真时所取的仿真步长; m=(tf-t0)/h; [r,c]=size(A); for i=1:m 2 for j=1:r x(j)=x0(j)+h*(A(
展开阅读全文
温馨提示:
金锄头文库所有资源均是用户自行上传分享,仅供网友学习交流,未经上传用户书面授权,请勿作他用。
相关搜索

当前位置:首页 > 办公文档 > 工作范文


电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号