MATLAB概论
MATLAB是世界流行的优秀科技应用软件之一。具有功能强大(数值计算、符号计算、图形生成、文本处理及多种专业工具箱)、界面友好,可二次开发等特点。在国内外,已有许多高等院校将其列为本科生、研究生和博士生必须掌握的基本技能。
1起源与发展
自1984年由美国MathWorks公司推向市场以来,先后发布了多个版本,1993年发布40版,1995年发布42c版,1996年发布50版,1997年发布51版,1999年发布53版,2000年发布60版,目前发布的为65版。
2基本组成
MATLAB主要由MATLAB主程序、Simulink动态仿真系统和MATLAB工具箱三大部分组成。其中MATLAB主程序包括MATLAB语言、工作环境、句柄图形、数学函数库和应用程序接口五个部分;Simulink是用于动态系统仿真的交互式系统,允许用户在屏幕上绘制框图来模拟系统并能动态地控制该系统;工具箱则是MATLAB的基本语句编写的各种子程序集和函数库,用于解决某一方面的特定问题或实现某一类的新算法,是开放的,可以根据需要扩充。
3通用命令
通用命令是在MATLAB命令窗口中直接键入并执行。常见的如下表所列。
名称 功能说明
clear 清除内存中所有的或指定的变量和函数
cd 显示和改变当前工作目录
clc 擦除MATLAB工作窗口中所有显示的内容
clf 擦除MATLAB工作窗口中的图形
dir 列出当前或指定目录中的文件清单
disp 在运行中显示变量或文字内容
echo 控制运行的文字命令是否显示
hold 控制当前的图形窗口对象是否被刷新
home 擦除命令窗口中的全部内容
pack 收集内存碎片以扩大内存空间
quit 关闭并退出MATLAB
type 显示所指定文件的全部内容
exit 退出MATLAB
4帮助文件
MATLAB为用户提供了非常详尽的帮助文件,最常见的帮助命令是help,直接输入help则列出全部信息,help后加对象则提示对象帮助信息。
MATLAB的基本矩阵运算
1 简单矩阵输入
MATLAB最基本、也是最重要的功能就是进行实数矩阵或者复数矩阵的运算。由于向量可作为矩阵的一行或者一列,标量(一个数)则可以作为只含有一个元素的矩阵,故向量和标量都可以作为特殊矩阵来处理。MATLAB的 *** 作和命令对于矩阵而言,和我们平时使用的形式很相似,但它还有自己的一些规定。
一、键盘输入
对于比较小的简单矩阵,可以使用键盘直接输入,例如:
a=1;b=2;c=3
x=[5 b c;ab a+c c/b]
x =
50000 20000 30000
20000 40000 15000
矩阵生成不但可以使用纯数字,也可以使用变量。矩阵的元素直接排列在方括号内,每行内的元素使用空格或者逗号分开,行与行之间使用分号隔开。大的矩阵可以分行输入,用回车键代替分号,这和我们平时使用的矩阵形式很相近。例如
a=[1 2 3
4 5 6]
大部分的试验数据使用上面的形式给出的,在处理试验数据中,可以简单的将数据前后加入左右括号,就可以得到矩阵的表示。这种处理可以在脚本文件中进行。
二、矩阵生成
MATLAB提供了很多生成和 *** 作矩阵的函数。下面给出几个创建矩阵的例子。
如果是线性等间距格式生成矩阵,可以使用from:step:to方式。from、step、to分别表示开始值、步长和结束值。例如
a=1:2:10
a =
1 3 5 7 9
还可以使用linspace命令,如:
a=linspace(1,10,5)
a =
10000 32500 55000 77500 100000
linespace的三个参数表示开始值、结束值和数据个数。数据个数可以省略,缺省值为100。
在画Bode图等应用中,需要使用对数等间隔的数据,可以使用logspace命令生成。Logspace和linspace的参数相同,只是结果不同。
2 矩阵运算
矩阵运算是MATLAB的基础,MATLAB的矩阵运算功能十分强大,并且运算的形式和一般的数学表示十分相似。
一、矩阵的转置
矩阵的转置用符号 ’
a=[1 2 3;4 5 6]
a =
1 2 3
4 5 6
b=a'
b =
1 4
2 5
3 6
如果矩阵a为复数矩阵,则a’为共轭转置。
a=[1 2;4 5], d=a+ai,c1=d',c2=conj(d),
对理论的掌握并不代表对知识的真正理解。对于一些所谓高深的理论都可以自己编写程序来检验对其理解的程度。我的经验是:只有你把程序流畅地写出来,才是真正意义上对知识理解通透了。比如,我在大三学电力系统分析的时候,就自己用Matlab语言编写了牛—拉法求潮流的程序,计算暂态稳定的简单程序,计算发电机短路电流的程序等。自然地这些专业课程都学得不错。 Matlab是一门优秀的编程语言,在欧美非常普及。选择一门顺手的编程语言可以让你在学习和工作中事倍功半。Matlab是一种语言因为它可以用作编程,也是一种软件因为它自带的工具箱具有类似软件前台的GUI界面以及能够轻松实现人机通信功能。在学习Matlab编程之前,需要对其有一个基本的了解:(1) 数据处理 能对数据进行计算、分析和挖掘,数据处理函数功能强大,命令简洁;(2) 软件工具箱 各式各样的工具箱,包括神经网络工具箱、Simulink工具箱(虽然Simulink从底层开发出来的,但是我们认为也是工具箱的一种)、模糊工具箱、数字图像处理工具箱和金融工具箱等;(3) 精致绘图 Matlab通过“set”命令重设图形的句柄属性,可绘制精准而美观的图形;(4) 动画实现 Matlab可以进行实时动画、**动画和AVI视频制作,并能在动画中添加WAVE格式的音频;(5) 与软硬件通信 Matlab接口函数可以实现与软件(比如C)和硬件(比如电子示波器)通信;(6) 平面设计 与全球最顶尖的平面设计软件之一Adobe Photoshop联袂使用,传达震撼的视觉设计效果;(7) 游戏开发 利用Matlab语言可以开发一整套的游戏,比如开发32关的推箱子游戏。 根据我对Matlab将近7年的学习经验,学习Matlab编程就像读一本书,刚开始读时感觉这本书很薄,内容浅显,容易上手,似乎感觉Matlab语言是最容易学会最简单的一门编程语言;继续读下去感觉这本书其实很厚。初学Matlab编程过程中经常会遇到五大困惑:其一,函数指令掌握太少,写不出简洁的程序甚至正确有效的代码也写不出;初学者阅读一个Matlab编程高手写出的一个相对复杂的程序,会发现不但整篇程序的思路难以理解,而且会碰见很多陌生的命令,就像一篇英文阅读理解有很多单词都不认识。自己动手写程序想表达的意思表达不出来,力不从心。其二,不能掌握Matlab函数复杂的语法格式;相比VB和C而言,Matlab语法格式比较复杂。语法格式不正确程序就不能运行,同一个命令有很多种语法格式。格式不同,程序输出的结果就大相迳庭。比如使用“streamribbon”命令创建三维流带图,其语法格式为streamribbon(x,y,z,u,v,w,sx,sy,sz);那么向量x,y,z,u,v,w,sx,sy,sz分别代表什么意义,各向量之间满足什么样的长度关系都必须真真切切地理解,否则因为不能键入正确的向量而不能画出三维流带图。其三,能套用别人程序自己却丝毫没有程序开发能力;比如在神经网络工具箱中,各种创建、学习和训练网络的函数命令众多,语法格式复杂,套用别人已经编好的神经网络程序比较简单,但是如果自己对照各个函数的用法书写完整的神经网络程序却不是简单的事,因为你没有从本质上理解这些命令。这就是说,你只能模仿别人的程序,却不能触类旁通自己开发程序。其四,不能准确全面地理解指令实现的功能;比如在Matlab中实现排序功能的命令是“sort”,而在C语言中如果想实现排序,那就必须依据“冒泡法”原理编写一小段的程序实现排序;虽然Matlab命令用起来比C简便,但是如果对“sort”命令原理不了解,就不能知晓“sort”是实现升序排列还是降序排列,对于矩阵是按行排序还是按列排序。所以当我们使用将繁琐的原理封装在Matlab里的命令时,如果不熟悉该命令的原理,那么使用时至少要在命令窗口中键入该命令以便试探它的用法。其五,函数的参数不知道如何调整。比如使用命令“imadjust”对轮廓不明晰的数字图像进行处理时,处理过的图像也许轮廓分明,但是很多都是伪轮廓,已经改变了原始图像的品质,所以在使用该命令时一定要注意拿捏好校正因子的大小。又如在编写BP网络源程序过程中,网络始终无法收敛且找不出原因,很多人都会怀疑是不是网络的拓扑结构设计有问题,其实很多情况下症结都是出在网络学习速率参数的大小上,只要将参数调小一点,网络也许就会立即收敛。当你不知道参数的具体取值时,不妨多调试几次。 最后通过长时间扎实的学习,对Matlab主程序命令和常用的一二个工具箱已经基本掌握,写起程序来才会思路涌涌而至,得心应手,轻车熟路,感觉这本书其实还是比较薄。由于MATLAB函数命令丰富,完全掌握没有必要也很难,只要掌握经常用到的命令就可以了。科学研究表明,只要掌握知识的60%就可以运用了。对于碰见的一些生僻的函数用法时,可以查询Matlab help命令寻求帮助或者身边备用一本Matlab函数词典。那么如何学好Matlab编程呢?我以为需要做到以下三点:(1) 多看多记 多阅读优质的程序,注意细细体会程序设计的思想,记下常用指令及其用法,准备一个笔记本,将看到好的程序段落摘抄下来或者复印,积累多了,装订成册。(2) 多练多想 模范别人的程序段,然后进行优化或改编。多多尝试开发小程序,多思考程序设计的流程,同时适当地借鉴一些程序设计艺术技巧。(3) 不要“偷懒” 初学者往往喜欢将别人或者自己以前编好的程序段甚至某一个指令复制粘贴过来,而懒得动手去写,这个习惯不好,尽管表面上是节省了一点时间。虽然这些指令对于初学者来说都认识,而且印象中也会写,但是时间长了,很多命令就不是记得很准确了。比如,函数“linspace”经常会被写成“linespace”,属性名“markersize”会被错误地写成“markesize”了。等等。 世界上没有100%的完美。Matlab这样优秀的软件也有缺陷:编译一直不顺畅和程序不能脱离Matlab环境运行。
以上就是关于求解~试用MATLAB图形用户界面编制MATLAB环境下的四则运算可视化程序。全部的内容,包括:求解~试用MATLAB图形用户界面编制MATLAB环境下的四则运算可视化程序。、如何使自己成为matlab高手、等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)