simulink仿真实验心得体会.docx

上传人:b****1 文档编号:1305476 上传时间:2022-10-20 格式:DOCX 页数:5 大小:19.30KB
下载 相关 举报
simulink仿真实验心得体会.docx_第1页
第1页 / 共5页
simulink仿真实验心得体会.docx_第2页
第2页 / 共5页
simulink仿真实验心得体会.docx_第3页
第3页 / 共5页
simulink仿真实验心得体会.docx_第4页
第4页 / 共5页
simulink仿真实验心得体会.docx_第5页
第5页 / 共5页
亲,该文档总共5页,全部预览完了,如果喜欢就下载吧!
下载资源
资源描述

simulink仿真实验心得体会.docx

《simulink仿真实验心得体会.docx》由会员分享,可在线阅读,更多相关《simulink仿真实验心得体会.docx(5页珍藏版)》请在冰豆网上搜索。

simulink仿真实验心得体会.docx

simulink仿真实验心得体会

竭诚为您提供优质文档/双击可除

simulink仿真实验心得体会

  篇一:

matlab与simulink仿真学习心得

  matlab与simulink仿真学习心得

  班级:

07610学号:

0720xx姓名:

吕天雄

  一matlab学习心得体会与编程实践

  学习matlab的心得体会

  真正开始接触matlab是大二上就开始了,到现在已经一年多了,在此之间,matlab的确为我提供了很多便利。

matlab的确不愧成为是草稿纸上的语言。

我们不必去为很简单的显示效果图形去找一些什么其他软件或者研究比较复杂的计算机图形学,一个plot或者别的函数往往就可以得到很满意的效果。

  其实最初开始学习matlab的时候感觉这个东西和c没什么两样,但是后来具体到一些东西,比如信号处理和数学建模上以后才感觉到使用matlab编写程序去验证结果比c要节省很多时间,而且matlab写东西基本都是按照自己的思路平铺直叙很少去考虑什么函数的嵌套调用或者指针等等很头疼的东西。

  关于matlab的学习,我感觉其实XX和matlab自带的help基本能够解决绝大数问题,而且一些比较好的论坛比如都会为你产生很大的帮助,关键是在于多动手实践,多思考。

但是matlab毕竟只是一个工具,原理和一些基本的编程素质还是必须有的,否则matlab最多也只能是验证一些别人的东西而已,根本帮不上什么忙的。

  遇到的一些问题的思考方式与解决办法

  最开始用matlab的时候是在大物实验,实验要求去根据测量得到的数据作出图。

但是手动用铅笔去画确实很麻烦,所以用matlab确实可以省去很大的麻烦。

但是第一次遇到问的时候是有关极化坐标下的曲线拟合。

  首先是一个物理实验的问题;在做一个关于光的偏振的实验的时候,最后的结果要在一个极化坐标下显示出来;因为数据是离散的,所以显示出来的图像是一个折来折去的一个东东;然后很自然的想法是对这个曲线进行插值处理。

  但是极化坐标下matlab并未提供插值处理的函数,interp1这个函数只能在笛卡尔坐标系,也就是直角坐标系下使用。

  然后就想到把极坐标的数据转换的直角坐标系下,pol2cart可以实现这个想法,但是随后而来,也就是最后导致整个问题失败的关键也在这里。

  pol2cart以后产生的一串数据中出现了重复的数据,那么interp1这个东西也就无能为力了,因为interp1不能处理一串数据中有重复出现的情况。

最后的处理办法是把这些数据cos,sin这些东西变换一下后,使其大致规则,然后再用polar

  画出极坐标下的图形。

  接下来这个问题就有点超过我的范围了,可能会有点叙述不清楚。

问题可以概要为:

人脸网格插值。

  这是一个用三角形网格表示的一个人脸模型。

需要通过插值使其变得光滑,当然问题的复杂之处在于,插值会改变原本的网格结构。

  对于这个问题许多人都给出了解决的办法,当然是一些关于人脸识别技术和运动图像处理的范畴之内的。

  主要有两种,第一种是face—ls算法。

这种算法是基于RbF(径向插值函数)和loop细分原则的一种算法,当然其精确程度比较差点。

但是速度挺好。

原理是:

基于网格上的点,产生出顶点的迭代函数,从而产生出新的定点,进行细化。

然后进行插值。

也就是引进新的顶点。

分为两个过程内部插值和边缘插值。

具体可以去看兰州大学信息工程学院的学报。

第二种也就是基本的老办法RbF。

首先解释一下什么叫做径向插值径向基函数

  主要是考虑多维空间的数据插值问题,径向基函数在三维图形的变形中常常被采用,用其来变分三维人脸的时候还应结合人脸的固有特征。

确定该方法来实现三维人脸变形是可行的,但要构造好的基函数,以及解这些高维方程的解仍是难点。

插值方法:

  假设大多数人脸的形状都可以由一个拓扑原型变化得来,那么,通过调整一个一般模型的构造参数可以建立不同的面部模型。

但是,这种参数模型仅仅局限于那些构造参数已知的情况,并且对特定人脸参数的调整非常困难。

在离散数据的多变量插值问题方面,径向基函数(radialbasisfunction,RbF)插值方法是一个行之有效的工具,所以也适用于类似人脸这样高维曲面的近似或平滑插值。

现有的许多方法使用了基于RbF的插值技术,将一般人脸网格变化到特定人脸的形状。

这种方法的优点在于:

(1)通过插值可以得到丢失的数据点,所以源网格和目标网格不需要相同数目的结点;

(2)如果选择了合适的匹配点,数学上可以保证能够将源网格变形到目标网格。

  当然我也不是很懂,只是理解了部分。

这种方法的关键是找到一个很好的核函数来计算出新的顶点。

  最后问题解决的方式是查着了一些图书馆的学报。

然后而且在网上找到了部分代码。

然后做出来的。

这是我校大四一个同学毕设中的一个东西。

  其实这个事件最好的解决办法是在3d-max中,不过因为没能找到matlab与3d-max是怎么接口的,所以作罢了。

  第三次遇到的问题是我在数学建模课上遇到的一个关于矩阵lu分解的问题:

  matlab作出的结果和手算的结果竟然不一样。

  1011

  1u=一个矩阵a=经过三角分解为l=0111

  因为1/为一个极大数则1—1/可以看成—1/;

  设=0.000000000000000000000001%10的负24次方

  从而l*u=

  则最后一位1没有了变成了0

  其中l=

  u=

  matlab程序为

  epusino=0.000000000000000000000001;u=[epusino1;0-1/epusino];l=[10;1/epusino1];l*uans=

  0.0000000000000001.0000000000000001.0000000000000000

  而直接用lu函数对矩阵a分解的结果为a=[epusino1;11]a=

  0.00001.00001.00001.0000

  >>[l,u]=lu(a)l=

  0.00001.00001.00000u=

  1101

  我们老师当时的解释是这是由于我们所用matlab是破解版的缘故,破解版的计算精度没正版的高所以导致运算结果的错误,后来我看了一些lu这个函数的help文档psychologicallylowertriangularmatrix"(i.e.aproductoflowertriangularandpermutationmatrices)inl。

翻译过来是l是一个心理上的下三角矩阵,其实是下三角矩阵和置换矩阵也就是最后的结论。

p*a=l*u.。

由此可见这并不是什么精度的问题导致的结果只是lu分解的矩阵意义和书本上的不同而已。

  以下是我自己写的一些程序的代码

  1:

网络随机拓扑图

  目的是要生成一个度数随机、权值随机的拓扑图。

首先的理解是利用邻接矩阵,先随机生成一个矩阵,该矩阵为一个对称矩阵。

然后画出这个矩阵就行了。

  随机拓扑图

  %产生数组a用来存放表示两点之间权值的矩阵a,也就是临接矩阵,那么两点之间权值不为零元素的个数即为该点的度数

  deF=5;%设定一个东东方便改变随机点的个数a=rand(deF,deF);%产生deF*deF的随机矩阵fori=1:

deF

  a(i,i)=0%将对角线上的数置为0enda=10*a;

  a=floor(a);%向下去整fori=1:

deFforj=1:

i

  a(j,i)=a(i,j)%将a矩阵变为一个上三角或者下三角矩阵endend

  x=100*rand(1,deF);y=100*rand(1,deF);%产生10个随机的点plot(x,y,r+);

  fori=1:

deF

  a=find(a(i,:

)>0)%将a矩阵每行大于0的数的在该行的地址找出来放在a中

  forj=1:

length(a)

  c=num2str(a(i,j));%将a中的权值转化为字符型

  ifc~=0%不显示为0的值因为a矩阵为零代表两点不相连

  篇二:

matlab中simu(simulink仿真实验心得体会)link的仿真实验报告

  simulink的仿真实验报告

  1.实验目的:

熟悉使用simulink的各种使用方法及仿真系统

  2.数学建模:

  假设系统的微分方程为:

  r(t)+3r(t)+2r(t)=e(t),其中e(t)=u(t)求该系统的零状态响应

  令等式右边为零,则可求得方程的两个特征根为:

  r1=-1,r2=-2

  所以设该系统的零状态响应为:

  r(t)=ae^-t+be^-2t+c

  其中c为方程的一个特解,由微分方程可知,等式右边没有冲激函数及冲激函数的微分,故系统在零负到零正的过程中没有发生跳变,则c为一个常数。

  将c带入方程可解得c=1/2

  由于零状态响应时系统的初值都为零即r(0-)=0,r(0-)=0,且系统无跳变,则r(0+)=0.r(0+)=0.带入r(t)得:

  a+b+1/2=0

  -a-2b+1/2=0

  解得:

a=-3/2b=1

  所以系统的零状态响应为:

r(t)=-3/2e^-t+e^-2t+1/2simulink仿真:

根据系统的微分方程可编辑仿真模型如下图

  打开开始按键,可以得到波形图:

  验证仿真结果:

  由前面得到的系统零状态响应结果:

  r(t)=-3/2e^-t+e^-2t+1/2

  可编辑仿真模型:

  >>t=(0:

0.1:

10);

  >>plot(t,((-3)/2)*exp((-1)*t)+exp((-2)*t)+1/2)

  实验结论:

  simulink仿真结果和函数仿真结果基本一致,所以simulink仿真是正确的。

  实验心得:

  1.此实验是利用matlab对一个微分方程进行建模求解,既要求我们掌握对微分方程的求解,又要求掌握用matlab对微分方程进行建模,所以要求我们对软件得熟悉。

  2.信号与系统的实验主要是用matlab分析或验证书上的东西,前提当然是学好书本上的知识,再学好matlab这个软件。

  3.用simulink仿真的时候,对函数用积分器较好,不知为什么用微分器做不出来,报错显示不出图形。

  篇三:

simulink仿真实验

  simulink仿真

  二阶微分方程的求解

  专业:

信息

  姓名:

王钢明1031020xx8姓名:

王某某1031020xx4姓名:

何正长1031020217指导老师:

刘老师

  日期:

20xx—12—25

  题目:

二阶微分方程的求解

  一、实验目的

  1、熟悉simulink基本用法。

  2、了解simulink的一些模块的意义。

3、掌握模块的选取、复制、删除操作。

  4、学会simulink模块的连接以及模块参数的设置。

  二、实验仪器

  1、计算机

  2、matlab软件环境

  三、实验内容

  (t)0.9x(t)0.7u(t)的方程解,其中u(t)是脉冲信号。

1、求解二阶微分方程x(t)0.4x

  需要使用simulink求解x(t)。

  (t)0.4x(t)0.2u(t),其中u(t)是脉冲信号。

需要使2、求解二阶微分方程x(t)0.2x

  用simulink求解x(t)。

  x(0)1,(t)0.8x(t)0.9u(t)的解x(t);其中初值为3、求解二阶微分方程x(t)0.5x

  

  (0)3x

  并且u(t)cos(t)是一个余弦信号。

  四、实验过程

  1、求解二阶微分方程其中u(t)是x(t)0.4x(t)0.9x(t)0.7u(t)的方程解,

  脉冲信号。

需要使用simulink求解x(t)。

  1.1)用mat

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 幼儿教育 > 幼儿读物

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1