智能车制作
标题:
控制系统与MATLAB的菜鸟教程(一)
[打印本页]
作者:
superyongzhe
时间:
2008-5-13 21:41
标题:
控制系统与MATLAB的菜鸟教程(一)
为打字方便,以下把
MATLAB
简称“小麦”
偷得半日清闲,来写这个前几天承诺好的东西,如果不出意外,以后
每周六
就写这么
一篇
出来,周期不会短也不会太长,毕竟我也在慢慢的学东西,只能从基础的一点点写起,也算给自己的一个
复习
的机会了,我打算在后面先
写一点控制理论的东西
,然后用小麦做出来或举些其他的例子,然后留下一些简单问题让大家去做,再然后在下篇里给出解决的方法,很多问题和观点都是基于我个人对控制系统理论与
MATLAB
的理解,错误和不周是难免的,希望大家多多指正,
一些好的,更有效率的实现方法
也希望大家能提出来,我们共同提高,讲述风格么,还是
轻松和口语化一些
,一些术语当然是必须的,但我会尽量说的明白一些,目的让大家能迅速的熟悉小麦以及如何把他应用到我们控制系统的分析设计中去,闲话不多说了,现在开始吧!
要从哪里开始呢,我觉得一上来就讲控制理论和小麦有点那个……还是先说一些关于小麦本身比较基本的东西和一些必须要注意的问题,目的是让那些
刚刚接触小麦的朋友
不至于对我们可爱的小麦产生
恐惧
,小麦对于学控制的人来讲,就像是手里
笔和草纸
,它可以帮助你完成一些复杂的计算,可以帮你作图,分析,但请记住,说到底,这个东西就是一个
工具
,它不能代替你
思考
,学它的目的是为了更好的研究我们学习的领域,因此不要为学软件而学软件,既然是工具,就必须学以至用。
小麦的最大好处是,编写程序简单得
要死
,在写算法的时候只需要按我们平常的书写公式的习惯和思考逻辑来写就可以了,而用其他语言,受到语法规则等的限制,对编程不熟悉的人估计会很快疯掉。关于小麦的历史什么就不说了,强烈建议大家使用用
比较新版本
的小麦(现在最新的好像是
r2007b
),这样会给你处理问题带来方便(后面我会举例说明这个问题)。
当你打开小麦界面的时候,会看到有几个窗口,现在讲两个有用的,现在没用到以后再说,一个是
command window,
你可以在把一些计算啊,画图啊等等的命令一条一条的输入,然后求取结果,呵呵,比如现在我们来解决世界上最简单但最有争议的问题,在命令窗口里输入
1+1
然后按回车,你可以看到小麦对这个问题所给出的答案。这里罗嗦一句,在命令窗口里输入命令的时候,可以
不必每输入一条命令就按回车执行
,可以把好几句话写完后一起运行,那么你想换行的时候,记得要按住
“
shift
”
再按回车,否则小麦就会执行上面你写下的所有语句。(但有的书上写的是按住“
ctrl
”再回车,难道是我的电脑比较特殊??)
第二个窗口叫
current directory
这个窗口显示的是你
当前路径
里的东西(当前路径就是整个界面最上面编辑框里的那段地址路径),这东西有啥用呢,简单的讲就是,你可以直接调用这个当前路径里的文件。举个例子:比如你可以在当前路径下(
current directory
窗口里)存放一张
jpg
格式的图片,名字叫“
picture
”
,
然后在命令窗口里直接敲入下面这段代码:
复制内容到剪贴板
代码:
a=imread('picture','jpg');
imshow(a);
自己试试看能产生什么结果,这句话大家能知道大概是什么意思,就是显示一张图片,但如果你把当前路径改一下,再运行上面的代码,会出现一句鲜红的文字告诉你,兄弟,出错了,“
File "picture1" does not exist.
”。呵呵,知道是什么意思了吧!!
小麦有一个默认的当前路径,就是一打开小麦的时候上面那个编辑框里指定的路径,有一天我看着不爽,想把它
改了
,问了论坛里的几位猛人,得到了答案,可以这样做,右键点小麦的快捷方式
—
属性
—
快捷方式,在“
起始位置
”那个编辑框里写上你需要的默认当前路径就
OK
了,简单吧!
要是一个
不小心
把以上介绍的这两个窗口
关了
该咋办呢?不要着急,点上面菜单栏里的
desktop
,在你需要的窗口或界面前面打勾它就出来了。
现在简单的介绍下小麦的文件系统,这里主要介绍一下“
m
文件
”,其他文件以后用到再说,
m
文件的扩展名“
.m
”,
m
文件用来存放和小麦有关的
程序代码
。按功能,
m
文件分两种,一种叫“
脚本文件
”,其实我也不知道具体的定义,意思就是说,你可以直接运行它得到一个结果,这个结果和你把里面的东西一行行的输入到命令窗口里再一起运行是一样的。
我们来举个例子:还是用上面说到的那个
jpg
图片,记得指定当前路径,然后我们在
current directory
窗口里右键新建一个
m
文件,起个名字叫“
show_a_picture
”双击之后先把里面写的所有东西都删掉(
绿色的是注释,不起作用
),输入前面写过的代码:
复制内容到剪贴板
代码:
a=imread('picture','jpg');
imshow(a);
然后点菜单里的
debug—save and run
,看一下最后的结果,是不是和前面的一样呢。
第二种叫做“
函数文件
”,意思就是说你可以通过代码在
m
文件里定义一个
函数
,以便我们在需要的时候来调用它,关于自定义函数如果展开来讲,可以说上三天三夜,呵呵,这里简单的说一下,以便大家将来专门看这方面东西的时候会比较容易一些,书写函数的格式大致是这样的:第一行定义输入输出和函数名字
复制内容到剪贴板
代码:
[y1,y2……yn]=fname(x1,x2……xn)
所有的
x
和
y
都只是一个形式上的参数,是为了描述函数关系的方便,所以叫形参,如果只有一个输出那就不必加中括号了,
fname
是函数的
名字
,
然后在下面写上这个函数里输入和输出的关系。
我们还是举个简单例子,定义一个峰值为
2
,宽度为
1
的矩形脉冲函数:
在
current directory
窗口里新建一个
m
文件
(
按我说的做,呵呵
)
,起个名字叫“
f
”,然后打开它,可以把里面的所有内容删掉:写如下代码:
复制内容到剪贴板
代码:
function y=f(x)
if (x>=0)&(x<=1);
y=2;
else
y=0;
end
这个函数我想大家能够大致看懂意思,可以在命令窗口中输入
f(0.5)
或
f(2)
来调用它,回车察看结果,可以去尝试一下。
关于
m
文件的命名有两点一定一定要注意,否则会出现一些
难以察觉
的错误:
第一:在给
m
文件起名字的时候只能用小写字母或下划线,名字里绝对不能用中文或数字以及其他的符号。
第二:如果你的
m
文件是一个函数,那么文件名字要与你定义的函数名字(包含子函数的写主函数名)一样。
这两点要像公理一样牢牢的记在脑袋里,绝对不能忘记。
接下来的几篇我打算用写代码的方式来对控制系统进行分析与设计,关于强大的
simulink
会在后面介绍。
本篇的最后我们说一下小麦的
帮助系统
,一开始学接触小麦的人不喜欢用帮助系统,因为里面的说明都是
英文
,我觉得大家应该养成有问题去求助
help
系统的习惯,问题最好还是能
自己解决
,这样印象会比较深刻,不要碰到不懂的函数和问题就到论坛里问,帮助文件的英文描述语法还是比较简单的,个别词用词霸查一下,用于帮助系统的功能十分强大,我觉得一半以上的问题是可以自己解决的。比如我们遇到一个陌生的函数,你想知道他是干嘛用的,可以在命令窗口中直接输入:
复制内容到剪贴板
代码:
help (函数名字)
然后回车,你会看到出现一些文字,这些东西会非常清楚的告诉你对这个函数的解释以及书写参数的格式,还有一种方式:在小麦界面的右下角有个“
start
”,这个按钮类似与
windows
界面里的“开始”,我们能通过它,选择我们在小麦里所有能用到的东西,点击“
strat
”
—
“
help
”,然后在
search for
的编辑框里搜索你赶兴趣的东西。
OK
!!今天先写到这里吧,罗里罗嗦写了一堆很基本的东西,没有深入的说一些运行机理,因为个人觉得作为小麦在控制系统里的应用,关于
操作环境
方面,了解和注意这些就足够了,一些关于文件怎么打开,怎么保存什么的和你用过的其他软件一样,这里就不多说了。
呵呵,(是不是应该放到基础版面里去)但还是保持前后的完整吧,不要着急,刚刚接触小麦的朋友,一开始要做的事情就是
熟悉
小麦,尽量和小麦搞好关系,看看界面,点点菜单,简单计算几个数字熟悉一下操作环境就可以了。
下一篇我还是不打算写控制方面的内容
,而是想来个一锅端,把以后能用到的一些计算上的常用操作都介绍清楚,主要就是以下这些内容:
数值计算,操作矩阵,符号运算,求解微分方程,分支,选择,循环语句
等等。从第三篇起,我们开始介绍小麦与
经典控制理论
。
最后给大家一个建议,每天关电脑睡觉前打开
MATLAB
的界面,对着屏幕大喊(或默念)三声:“
小麦小麦我爱你!因为你是我手里的笔!!
”
这样可以达到沟通感情之目的,然后,洗洗睡觉!!
另:最近本版块看的人很多,但留言的很少,这个……长期下去,我也不知道自己做的工作是好是坏,我不想单纯的为了增加回帖数设置回复限制,写的东西完全开放(上传资料除外)因为我和你们一样都还在学习中,但还是恳请各位回几个帖子,最好能提些意见,也算对我的鼓励或督促,谢谢各位!!!
原文地址
http://www.ilovematlab.cn/thread-918-1-2.html
作者:
southisland
时间:
2008-5-14 01:21
标题:
Re:控制系统与MATLAB的菜鸟教程(一)
不错,顶一个
作者:
liruome
时间:
2008-5-14 02:17
标题:
Re:控制系统与MATLAB的菜鸟教程(一)
<
><FONT style="BACKGROUND-COLOR: #f5f5f5">呵呵,懂得怎么称呼你..就叫你大好人了...</FONT></P>
作者:
yangyang
时间:
2008-5-18 02:20
标题:
Re:控制系统与MATLAB的菜鸟教程(一)
对于你这种同志,我们党和人民会感激你的!加油,我看了你的这篇也开始了小麦的学习,呵呵,加油!我们一定行
作者:
wu-wu
时间:
2008-5-26 03:54
标题:
Re:控制系统与MATLAB的菜鸟教程(一)
还成 内容有点少 一次学起来不爽
作者:
lzyhx
时间:
2008-5-31 17:14
标题:
Re:控制系统与MATLAB的菜鸟教程(一)
<
>顶</P>
作者:
zhangym0501
时间:
2008-6-26 19:15
标题:
Re:控制系统与MATLAB的菜鸟教程(一)
<
>不错,口语化,很容易明白,交流起来爽阿</P><P> </P>
作者:
^_^
时间:
2008-7-6 23:57
标题:
Re:控制系统与MATLAB的菜鸟教程(一)
<STRONG><FONT face=宋体 color=#ff0000>小麦小麦我爱你!</FONT></STRONG>
作者:
hanyong613
时间:
2008-9-7 19:01
标题:
Re:控制系统与MATLAB的菜鸟教程(一)
<
>为人不错 </P>
作者:
jsxiaoyao
时间:
2008-10-7 05:18
标题:
Re:控制系统与MATLAB的菜鸟教程(一)
不错,希望楼主继续
作者:
稻草人
时间:
2008-12-25 04:56
标题:
Re:控制系统与MATLAB的菜鸟教程(一)
<
>顶</P>
作者:
xiaoyao8745
时间:
2008-12-25 09:07
标题:
Re:控制系统与MATLAB的菜鸟教程(一)
我也顶····
作者:
sdf370724
时间:
2008-12-25 17:37
标题:
Re:控制系统与MATLAB的菜鸟教程(一)
有感觉!!
作者:
mc0511
时间:
2009-2-12 18:45
楼主精神可佳啊~~
作者:
lucev
时间:
2009-2-12 20:46
支持版主!!!
作者:
biline
时间:
2009-2-19 13:30
学到了很多东西
作者:
mengxiangyu
时间:
2009-2-19 22:18
感谢 期待 加油
作者:
fredcong
时间:
2009-2-21 10:41
楼主~ 原帖打不开了·~ 能帮忙继续转载吗?那个网站好像是教育网的上不去
作者:
lansen0815
时间:
2009-2-28 02:35
很好 希望楼主继续
作者:
liuxing4585
时间:
2009-2-28 19:12
XOIE
作者:
wmjhwj
时间:
2009-3-1 13:13
不错,希望楼主继续
作者:
路之遥
时间:
2009-3-5 00:52
hao jingdian
作者:
more_dragon
时间:
2009-3-5 20:18
顶一个 谢谢啊 继续啊 好像就这一篇啦
作者:
chenrunshe_007
时间:
2009-4-4 01:27
我们一般在数学建模中经常用MATLAB
作者:
jian1999jian
时间:
2009-4-5 12:43
我狠狠的顶
作者:
bingkafei
时间:
2009-5-12 22:57
非常期待下一篇
作者:
riyakiss
时间:
2009-5-23 17:49
一直想学MATLAB,但苦于没有时间!呵呵!
作者:
xbsf-写轮眼
时间:
2009-5-23 18:16
分享!顶之!
作者:
csb5002
时间:
2009-5-26 22:15
学习
作者:
zjwwalex
时间:
2009-5-27 22:41
谢谢楼主啊~~
作者:
jialaolian123
时间:
2009-6-8 15:46
好东西,顶一个
作者:
whut_wj
时间:
2009-6-8 16:37
支持。这个老贴翻出来,不容易。
作者:
kanlang
时间:
2009-6-13 18:18
不错的教程啊
作者:
段鹏飞
时间:
2009-6-24 21:53
MATLBA 很强大很实用的软件 算法的实现很轻松语句也很简单易用 努力学习很有必要 在建模中应用很广
作者:
段鹏飞
时间:
2009-6-24 21:54
发发狠有必要的 向我们还很期待 向各位学习呢
作者:
daaiwubian
时间:
2009-12-20 23:36
不错 谢谢楼主。。
作者:
shawn1105
时间:
2010-3-13 20:02
回复
1#
superyongzhe
LZ你还蛮幽默!
作者:
huibei
时间:
2010-3-14 10:30
不懂,还是顶一个
作者:
motor
时间:
2010-3-14 14:27
学习了
作者:
cuily1
时间:
2010-3-14 18:57
顶
作者:
yixing1989
时间:
2010-3-23 18:17
作者:
wwt142857
时间:
2010-3-23 20:26
狂顶 谢谢楼主啊!!
作者:
wwt142857
时间:
2010-3-23 20:26
楼主 好人
作者:
wwt142857
时间:
2010-3-23 20:26
我靠 啊 太好了
作者:
xiaohaipolang
时间:
2010-3-27 15:08
作者:
zhangluhuixing
时间:
2010-5-4 13:24
很有用
作者:
zhangluhuixing
时间:
2010-5-4 13:25
很有用
作者:
zhangluhuixing
时间:
2010-5-11 22:20
很有用
作者:
yxq12345
时间:
2010-11-12 20:26
不错,顶
作者:
林显达
时间:
2010-11-18 12:27
不错
作者:
fanganen
时间:
2010-11-18 14:08
为打字方便,以下把MATLAB简称“小麦”
偷得半日清闲,来写这个前几天承诺好的东西,如果不出意外,以 ...
superyongzhe 发表于 2008-5-13 21:41
Error in ==> f at 2
if (x>=0)&(x<=1);
介素神马·····
作者:
mango8991693
时间:
2011-3-11 17:56
顶
作者:
jay2765133
时间:
2011-3-14 09:31
楼主,小麦得慢慢学的啊
作者:
wangsh11
时间:
2011-3-28 23:17
楼主继续,啦啦啦
作者:
iloveautomation
时间:
2011-4-25 13:29
我认真读了一下,楼主果然写得不错,不过我咋没看见第二篇呢,希望楼主继续,谢谢
作者:
耗子
时间:
2012-2-13 08:57
好帖 顶一个!
作者:
▓坏ふ→Ζī
时间:
2012-2-14 23:20
顶一个,支持~~~!!!!
作者:
beihu
时间:
2012-5-26 00:56
顶一个
作者:
☆_。寒泉..+
时间:
2012-9-4 11:08
非常有用
作者:
夜月L
时间:
2012-10-2 21:57
顶楼主
作者:
gdjdsjh
时间:
2013-4-11 16:34
顶楼主啊!!!
作者:
残风依旧
时间:
2013-12-14 19:28
谢谢!
作者:
花样年华
时间:
2013-12-15 12:25
ding
作者:
langling
时间:
2014-4-2 19:10
:lol:lol:lol:lol:lol:lol:lol
欢迎光临 智能车制作 (http://111.231.132.190/)
Powered by Discuz! X3.2