matlab进阶教程,MATLAB编程进阶

MATLAB编程进阶

——主讲人:陈景生

数学建模协会本次活动是由数学科学学院统计专业的陈景生学长为大家讲解MATLAB编程进阶。讲课内容分为三个部分,第一部分是对先锋小队部分试题的讲解,第二部分是对SIMULINK仿真的讲解,第三部分是对论文格式的讲解。

陈景生学长讲课照片

先锋小队试题讲解

1.基础题

(1)数值计算:某矿工身陷在有三个门的矿井之中,经第一个门的通道行进两小时后,他将到达安全地。经第二个门的通道前进三小时后,他将回到原地。经第三个门的通道前进五个小时后,他还是回到原地。假定这个矿工每次都等可能地选取任意一个门,问:直到他到达安全地所需时间的数学期望是多少?

N=10000;           % N 表示试验的次数

time=[2,3,5];       % time 记录矿工打开三个门之后行进的时间

for i=1:N             % i 表示当前是第i次试验

T(i)=0;                % T(i) 用来记录第i次试验中,矿工到达安全地的过程中所

花费的时间

index=0;              % index=0 表示该矿工还未到达安全地

k=1;                    % k 记录矿工当前是第几次选择门

while index<1

X(k)=ceil(3*rand());            % X(k) 记录该矿工第k次选择的是哪个门

T(i)=T(i)+time(X(k));

i X(k)==1           % X(k)==1 表示该矿工选择的是第一个门

index=1;         % index=1 表示该矿工当前能够到达安全地

else                % 若选择第二或第三个门,则会返回原地

k=k+1;             % k=k+1 意味着还要再选一次门

ET=mean(T)        % ET 是矿工到达安全门平均需要花费的时间

运行结果:ET = 9.8965

理论值为10小时,仿真结果在10h左右均算正确,给分区间[9,11]。

2)绘图:描绘出函数,和在内的曲线图,并且描绘出动态轨迹。(需给出程序及运行结果,结果只需展示某一时刻的情形即可)

ezplot3('sin(s)','cos(s)','s',[0 10*pi],'animate')

运行结果:

2. 进阶题

一列火车从A站开往B站,该火车从A站到B站的运行时间服从均值为30min,标准差为2min的正态分布。火车在B站只停留2min即离开。已知火车离开A站的时刻及概率如下表所示:

现有一人每天从家赶往B站乘坐火车,此人到达B站的时刻及概率如下表所示:

问此人能在B站赶上火车的概率有多大?

方法一:

clc;%清除命令窗口的内容,对工作环境中的全部变量无任何影响

close all;%关闭打开的窗口

clear all;%清除操作界面及变量

n=0;%计数,初始值为0

m=0;%计数,初始值为0

while n

r1=rand();%产生服从[0,1]均匀分布的随机数,将其赋值给r1

r2=rand();%产生服从[0,1]均匀分布的随机数,将其赋值给r1

if r1<=(1/50)*(u^2)*sin(2^u)+(1/2)

m=m+1;%满足成功赶上火车条件,次数加1

P=400*P1-200%计算此人能在B站赶上火车的概率

根据上述程序估算的此人能在B站赶上火车的概率为:P = 0.6032

注:仿真结果在0.6左右均算正确,给分区间[0.5,0.7]。

方法二:

p1=[0.7 0.9 1] ;

A=[0 5 10] ;

B=[30 32 34 36] ;

R1=rand() ;

if R1<=p1 (i)

先锋小队MATLAB编程题讲解

R2=rand() ;

if R2<=p2(j)

r1=rand() ;

r2=rand() ;

N=sqrt(-2*log(r1) ) *sin (2*pi*r2) ;

SIMULINK交互式仿真集成环境

SIMULINK是一个进行动态系统建模、仿真和综合分析的集成软件包。它可以处理的系统包括:线性、非线性系统;离散、连续及混合系统;单任务、多任务离散事件系统。

在SIMULINK 提供的图形用户界面GUI上,只要进行鼠标的简单拖拉操作就可构造出复杂的仿真模型。它外表以方块图形式呈现,且采用分层结构。从建模角度讲,这既适于自上而下(Top-down)的设计流程(概念、功能、系统、子系统、直至器件),又适于自下而上(Bottum-up) 逆程设计。从分析研究角度讲,这种SIMULINK模型不仅能让用户知道具体环节的动态细节,而且能让用户清晰地了解各器件、各子系统、各系统间的信息

交换,掌握各部分之间的交互影响。

MATLAB工具包

工具包包括拥有数百个内部函数的主包和三十几种工具包。工具包又可以分为功能性工具包和学科工具包。

除内部函数外,所有MATLAB主包文件和各种工具包都是可读可修改的文件,用户通过对源程序的修改或加入自己编写程序构造新的专用工具包。

Matlab Main Toolbox——matlab主工具箱

Control System Toolbox——控制系统工具箱

Communication Toolbox——通讯工具箱

Financial Toolbox——财政金融工具箱

System Identification Toolbox——系统辨识工具箱

Fuzzy Logic Toolbox——模糊逻辑工具箱

Higher-Order Spectral Analysis Toolbox——高阶谱 分析工具箱

Image Processing Toolbox——图象处理工具箱

LMI Control Toolbox——线性矩阵不等式工具箱

MATLAB进阶讲解

Model predictive Control Toolbox——模型预测控制工具箱

μ-Analysis and Synthesis Toolbox——μ分析工具箱

Neural Network Toolbox——神经网络工具箱

Optimization Toolbox——优化工具箱

Partial Differential Toolbox——偏微分方程工具箱

Robust Control Toolbox——鲁棒控制工具箱

Signal Processing Toolbox——信号处理工具箱

Spline Toolbox——样条工具箱

Statistics Toolbox——统计工具箱

Symbolic Math Toolbox——符号数学工具箱

Simulink Toolbox——动态仿真工具箱Wavele Toolbox——小波工具箱

第一步,在MATLAB的命令窗运行指令simulink,或点击命令窗中的图标,就可以打开如图所示的SIMULINK模块库浏览器。

第二步,点击Source子库,便可看到各种信源模块。

第三步,点击“新建”图标,打开一个名为untitled的空白模型窗口。

第四步,用鼠标指向所需的信源模块(如正弦波信源Sine Wave),按下

鼠标左键,把它拖至untitled窗,就生成一个正弦波信源复制品。

第五步,采用上述类似方法,将信宿库Sinks中的示波器Scope拷贝到模型窗。

第六步,把鼠标指向信源右侧的输出端,当光标变为十字符时,按住鼠标任一键,移向示波器的输入端,松开鼠标键,就完成两个模块间的信号线连接。

第七步,点击模型窗中“仿真启动”图标,仿真开始。在示波器显示屏上,可看到黄色的正弦波形。再点击显示屏上的“自动刻度”按钮,使得波形充满整个坐标框。

SIMULINK库浏览器界面

SIMULINK模型窗的组成 模型窗的组成

单击按钮可切换双窗口形式。整个模型窗的组成是:

菜单栏、工具条、编辑框和状态栏。

希望大家多看国赛的获奖论文,学习其长处和格式,集百家之长。写出优秀的论文是建模比赛中必不可少的一环。

封面图片来自网络,侵删

排版/文字编辑:李圣杰/董浩瀚

审核:张瓯

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
当涉及到 MATLAB进阶知识时,有一些重要的主题可以探索。以下是一些你可能感兴趣的主题: 1. 高级数据结构和数据类型:学习如何使用 MATLAB 中的更高级数据结构,如表格、结构体和地图。了解如何存储和访问不同类型的数据,并进行高效的操作。 2. 函数句柄和匿名函数:学习如何使用函数句柄和匿名函数来创建可重用的代码块。了解如何将函数作为参数传递给其他函数或方法,以及如何在 MATLAB 中利用函数句柄进行高级编程。 3. 面向对象编程:了解如何使用 MATLAB 的面向对象编程功能,创建自定义类和对象。学习如何封装数据和方法,并通过继承、多态和封装等概念来设计更加模块化和可扩展的代码。 4. 并行计算:了解如何使用 MATLAB 中的并行计算功能来加速代码的执行。学习如何利用多核处理器或分布式计算资源来并行处理大规模数据或计算密集型任务。 5. 编译和部署:学习如何将 MATLAB 代码编译为可执行文件或独立应用程序,以便在没有 MATLAB 安装的机器上运行。了解如何创建 GUI 界面,并将 MATLAB 应用程序部署到不同的平台。 这些只是一些 MATLAB 进阶知识的例子,你可以根据自己的兴趣和需求进一步探索这些主题。还有许多其他的主题,如图像处理、信号处理、优化和统计分析等,可以帮助你进一步提高 MATLAB 的使用水平。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值