MATLAB的基本元素
MALTAB程序的基本数据单元是数组,MATLAB 的变量名必须以字母开头,后面可以跟字母,数字和下划线(_).只有前31个字符是有效的;如果超过了31 个字符,基余的字符将被忽略。如果声明两个变量,两变量名只有第32 个字符不同,那么MATLAB 将它们当作同一变量对待。要注意的是:确保你所声明的变量名前31 个字符是独一无二的。否则,MATLAB 将无法辨认出它们的不同。
好的编程习惯:给你的变量起一个描述性的且易于记忆的变量名。例如,货币汇率可以exchange_rate为变量名。这种方法将使得你的程序更加明确且易于理解。
给每个程序创建一个数据字典以增强程序的可维护性。
在每次用到一个变量时,我们要确保变量名的大小写的精确匹配。在变量名中只使用小写字母是一个好的编程习惯。
在用赋值语句初始化变量时,每一行元素的个数必须完全相同,每一列元素的个数也必须完全相同.试图创建一个不同行(列)拥有不同数目元素的数组,在编译时将会出现错误.
在每个赋值语句末的分号有特殊的目的:无论在何时一个表达式在赋值语句中被赋值,分号将会中止变量值的重复。如果句末没有分号,变量值将会自动显示在命令窗口(TheCommand Windows)中。好的编程习惯在MATLAB 赋值语句后加上一个分号来禁止变量值在命令窗口(The CommandWindows)的重复。这将大大提高编译的速度。
****用内置函数来初始化
****多维数组在内存中的存储:MATLAB 的特性之一就是它允许使用者或程序员把一个多维数看作一个一维数组,这个一维数组的长度等于多维数组的元素数。如果用一个下标访问一个多维数组,那么元素的排列顺序就是内存的分配顺序。所以在编程时,在访问多维数组时,要总是使用合适的维数。
****end函数:MATLAB 中有一个特殊的函数叫做end 函数,对于创建子数组的下标非常的有用.当用到一个函数的下标时,end 函数将会返回下标的最大值.注意。。。
所以不要重定义有意义的预定义变量。否则将后患无穷,制造成出小而难以发现的错误。
******显示输出数据:在 MATLAB 中有许多的方法显示输出数据。最简单的方法是我们已经用过的去掉语句末的分号,它将显示在命令窗口(The Command Windows)中。
****disp 函数:disp 需要一个数组参数,它将值将显示在命令窗口(The Command Windows)中。如果这个数组是字符型(char),那么包含在这个数组中的字符串将会打印在命令窗口(The Command Windows)中。
用fprintf 函数格式化输出数据:。fprintf 函数显示带有相关文本的一个或多个值,允许程序员控制显示数据的方式。它在命令窗口打印一个数据的一般格式如下:
fprint(format,data){其中format 用于代表一个描述打印数据方式的子符串,data 代表要打印的一个或多个标量或数组。format 包括两方面的内容,一方面是打印内 容的文本的提示;另一方面是打印的格式}
fprintf 函数有一个重大的局限性,只能显示复数的实部。当我们的计算结果是复数时,这个局限性将会产生错误。在这种情况下,最好用disp 显示数据。
数据文件:save 和load 命令。
save 命令用于保存当前MATLAB 工作区内的数据到一个硬盘文件。这个命令的基形式如下:save filename var1 var2 var3;filename 代表你要保存变量的那个文件,var1,var2 等是要保存的变量。在默认情况下,这个这个文件的扩展名为‘mat’,我们称之为MAT 文件。如果在filename 后面无变量,则工作区的所有内容将会被保存。
***如果数据需要在MATLAB 和其他程序之间交换使用,那么以ASCII 格式存储数据。如果只在MATLAB 中使用那么,应以mat 文件的形式存储数据。
以“dat”的扩展名保存ASCII 数据文件,以区别于以“mat”为扩展名的mat 文件。
Load 命令与save 命令相反。它从硬盘文件加载数据到MATLAB 当前工作区。这个命令的基本格式为 load filename{如果这个文件是mat 文件,那么所有被子加载的变量的变量名的变量类型将和原来一样。如果一个变量包含在工作区间窗口,那么这些数据将会被修复。}
数组运算和矩阵运算:
常见的MATLAB 函数:注意与大多数的计算语言不同,许多的MATLAB 函数能够正确计算出复数结果.MATLAB 自动计算出正确的结果,尽管其结果可能是虚数和复数
总结: 1. 尽可能的使用有意义的变量名,一眼就可以看懂,像day,month,year.
2. 给每一个程序创建一个数据字典,以提高程序的可维护性.
3. 变量名一律用小写字母,这样可以不会因大小写不同而造成变量混淆。
4. 在所有的MATLAB 赋值语句的后面加上一个分号,用来禁止赋值的重复.在程序调试期间,如果你检验检某个语句的值,可去掉语句后的分号.
5. 如果要在MATLAB 和其他程序之间交换数据,那么就要以ASCII 格式存储数据.如果数据只应用在此MATLAB 中那么,应以matfile格式存储数据.
6. 以”dat”为扩展名保存ASCII 数据以区分MAT 文件,MAT 文件的扩展名为mat.
7. 用适当的括号使你的表达式清晰,易理解.
8. 当你读取和写入数据时,使用适当的单位
MATLAB的基本元素的更多相关文章
- matlab神经网络实验
第0节.引例 本文以Fisher的Iris数据集作为神经网络程序的测试数据集.Iris数据集可以在http://en.wikipedia.org/wiki/Iris_flower_data_set ...
- 神经网络及其简单实现(MATLAB)
转自:http://www.cnblogs.com/heaad/archive/2011/03/07/1976443.html 第0节.引例 本文以Fisher的Iris数据集作为神经网络程序的测试 ...
- bp神经网络及matlab实现
本文主要内容包含: (1) 介绍神经网络基本原理,(2) AForge.NET实现前向神经网络的方法,(3) Matlab实现前向神经网络的方法 . 第0节.引例 本文以Fisher的Iris数据集 ...
- 05. Matplotlib 1 |图表基本元素| 样式参数| 刻度 注释| 子图
1.Matplotlib简介及图表窗口 Matplotlib → 一个python版的matlab绘图接口,以2D为主,支持python.numpy.pandas基本数据结构,运营高效且有较丰富的图表 ...
- Matlab 常用绘图指令(二维图形)
使用matlab的时候常常会忘掉一些指令,每次都要重新查找,挺麻烦的,这里收集一些常用的绘图指令,供自己和大家以后方便查找和使用. 1.例子-包含了常用绘图命令 clear clc %%数据准备 x ...
- MATLAB 中gcf、gca 以及gco 的区别
MATLAB 中gcf.gca 以及gco 的区别gcf 返回当前Figure 对象的句柄值gca 返回当前axes 对象的句柄值gco 返回当前鼠标单击的句柄值,该对象可以是除root 对象外的任意 ...
- Matlab与神经网络入门
第一节.神经网络基本原理 1. 人工神经元( Artificial Neuron )模型 人工神经元是神经网络的基本元素,其原理可以用下图表示: 图1. 人工神经元模型 图中x1~xn是从其他神经 ...
- 【matlab 基础篇 02】基础知识一键扫盲,看完即可无障碍编程(超详细+图文并茂)
博主快速入门matlab,系统地整理一遍,如何你和我一样是一个新手,那么此文很适合你: 本人能力有限,文中难免有错误和纰漏之处,请大佬们不吝赐教 创作不易,如果本文帮到了您: 请帮忙点个赞
- Matlab 绘制三维立体图(以地质异常体为例)
前言:在地球物理勘探,流体空间分布等多种场景中,定位空间点P(x,y,x)的物理属性值Q,并绘制三维空间分布图,对我们洞察空间场景有十分重要的意义. 1. 三维立体图的基本要件: 全空间网格化 网格节 ...
随机推荐
- Ajax异步请求-简单模版
<script type="text/javascript"> window.onload = function () { document.getElementByI ...
- 【译】 AWK教程指南 7AWK应用实例
本节将示范一个统计上班到达时间及迟到次数的程序. 这程序每日被执行时将读入两个数据文件: * 员工当日到班时间的数据文件 ( 如下列的 arr.dat ) * 存放员工当月迟到累计次数的文件 当程序执 ...
- MVC 部署出现错误未能写入输出文件xxxxxxx.
编译器错误消息: CS0016: 未能写入输出文件“c:\Windows\Microsoft.NET\Framework64\v4.0.30319\Temporary ASP.NET Files\ro ...
- C#中使用DLL文件
首先,我们需要在C++程序中导出DLL文件.我使用的是Visual Studio开发,把项目"属性"中的“配置类型”改为"动态库dll",然后添加如下导出代码: ...
- JVM 必备指南
简介 Java虚拟机(JVM)是Java应用的运行环境,从一般意义上来讲,JVM是通过规范来定义的一个虚拟的计算机,被设计用来解释执行从Java源码编译而来的字节码.更通俗地说,JVM是指对这个规范的 ...
- 让IE浏览器支持CSS3圆角的方法
如果要想在IE浏览器中实现圆角的效果,我们一般都会采用圆角图片的方式.用图片的话,基本就跟浏览器没有多大关系了,因为任何浏览器都支持这种方式.今天我们主要是讲解如果用CSS3样式表来实现圆角效果,值得 ...
- mac linux netstat -n
一直都不明白为什么mac就是不现实8080端口,现在明白了 USERtekiiMac-3:~ user$ netstat -an | grep tcp46 tcp46 0 0 *.8009 *.* L ...
- Java & XML Tutorial
Java comes with a set of tools to process XML. These Java XML tools are: SAX Parser StAX Parser DOM ...
- TcxVerticalGrid demo
procedure TForm1.Button1Click(Sender: TObject);var row: TcxEditorRow; i,t: Integer;begin grid.ClearR ...
- MFRCC522 SPI无法通讯【worldsing笔记】
用单片机于MRFC522与单片接时,加上485通讯后出现很诡异的像: 只要485芯片上有收到外部发送的信号时RC522就死掉,经过仿真卡在了SPI的收发部分(等待回复) u8 MFRC522Write ...