(转载)从0开始学matlab(第1天)—变量和数组

news/2024/10/28 0:16:02/
        MATLAB 程序的基本数据单元是数组。一个数组是以行和列组织起来的数据集合,并且拥有一个数组名。数组中的单个数据是可以被访问的,访问的方法是数组名后带一个括号,括号内是这个数据所对应行标和列标。标量在 MATLAB 中也被当作数组来处理——它被看作只有一行一列的数组。
        数组可以定义为向量或矩阵。向量一般来描述一维数组,而矩阵往往来描述二维或多维数组。在本书中,当我们讨论一维数组时用向量表示,当我们讨论二维或多维向量时用矩阵。如果在特殊情况下,同时遇到这两种数组,我们就把他们通称为“数组”。数组的大小(size )由数组的行数和列数共同决定 ,注意行数在前。一个数组所包含的数据多少可由行数乘列数得到。例如,下列数组的大小为:
        数组中的单个数据是可以被访问的,访问的方法是数组名后带一个括号,括号内是这个数据所对应的行标和列标。如果这个数组是一个行向量或列向量,则只需要一个下标。例如上面的数组 A 2 1 )为 3 C(2 )为 2 。一个 MATLAB 变量是一段包含一个数组的内存区, 并且拥有一个用户指定的变量名。通过适当的命令和它的变量名随时可以就调用它和修改 它。
        MATLAB 的变量名必须以字母开头,后面可以跟字母,数字和下划线(_) . 只有前 31个字符是有效的;如果超过了 31 个字符,基余的字符将被忽略。如果声明两个变量,两变量名只有第 32 个字符不同,那么 MATLAB 将它们当作同一变量对待。
常见编程错误
确保你所声明的变量名前 31 个字符是独一无二的。否则, MATLAB 将无法辨认出它们
的不同。
        当你编写程序时,给变量起一个有意义的名字非常的重要。有意义的名字极大的提高了程序的可读性和可维护性。像 day month year 这样的名字意义非常明确,即使第一次看到也能理解。尽管空格不能用在 MATLAB 变量名中,但是可以用下划线代替空格创造出有意义的变量名。比如, changerate 可以写成 change_rate.
好的编程习惯
给你的变量起一个描述性的且易于记忆的变量名。例如,货币汇率可以 exchange_rate
为变量名。这种方法将使得你的程序更加明确且易于理解。
        在你所写的程序的开头列出一数据字典(data dictionary)十分的重要.数据字典列举了你在本程序中用到的所有变量的定义。它的定义应包括本条目的所要描述的内容和它在执行时所在的单元。当编写程序时,编定数据字典看似没有必要。但是设想一下,在过了一段时间后,你或其他人要对此程序修改,这时数据字典就显得十分的有用。
好的编程习惯
给每个程序创建一个数据字典以增强程序的可维护性。
MATLAB 语言中是区分字母大小的,也就是说,大写字母和小写字母代表的东西是不同的。所以变量 NAME,Name name 在 MATLAB 中是不同的。所以已用过的小写变量名与一个新建大写的变量名重名,这时使用时要特别地小心。在一般情况下,我们一律用小写字母来表示。
好的编程习惯
在每次用到一个变量时,我们要确保变量名的大小写的精确匹配。在变量名中只使用小写字母是一个好的编程习惯。
        两个最常见的变量类型是 char 型和 double 型。 double 型的变量包括由 64 位双精度浮点数构成的标量或数组。这种变量可以代表实数,虚数和复数。每个值的实部和虚部的变化范围为正负 10 ­ 308 ~10 308 ,拥有 15 16 位有效数字。这是基本的数字数据类型。无论什么时侯,你将一个数值赋值于一个变量名,那么 MATLAB 将自动建立一个 double 型变量。例如,下面语句创建了一个以 var 为变量名的 double 型变量,包含了一个 double 型的单个元素,存储了复数值( 1+i ;
var=1+i;
        char 型的变量包括由 16 位数值构成的标量或数组,每一个 16 位数代表一个字符。这个类型的经常用于字符串操作,当一个字符或字符串赋值于一个变量名时,系统会自动建立一个 char 型变量。例如,下面的这个语句创建了一个 char 型变量 comment,并存储了一个字符串在其内。当这个语执行后,系统将会建立一个 1 × 26 的字符串数组。
comment='this is a character string';
        像 C 语言这样的语言中,变量类型和变量在使用之前必须强制声明。这种语言我们叫它 强类型语言 。相对地,像 MATLAB 这样的叫做 弱类型语言。通过简单的赋值形式就可以创建变量,变量类型取决于创建时的类型。

http://www.ppmy.cn/news/435828.html

相关文章

手机IMEI号是怎样产生的

手机IMEI号是怎样产生的 手机IMEI码由15-17位数字组成。 第一部分 TAC,Type Allocation Code,类型分配码,由8位数字组成(早期是6位),是区分手机品牌和型号的编码,该代码由GSMA及其授权机构分配…

XTU 1387 完全区间

题目描述 序列X由线性产生式 xnaxn−1bxn−2,x0x11 产生, 序列Y由线性产生式 yncyn−1dyn−2,y0y11 产生, 集合Z{xy∣x∈X,y∈Y}。 现有区间[L,R],求最长的子区间[l,r],满足L≤l≤r≤R,∀z∈[l,r],z∈Z。 输入格式 第一行是一个整数T(1≤T…

Team Queue HDU - 1387

HDU - 1387 题意分析: 题目会先开始给你一个主队列,然后按照要求加入新成员 ENQUEUE x: 如果主队列里面没有当前成员,那么就加在主队列队尾,如果主队列已经有了会在主队列成员里面扩展出子队列加入该成员DEQUEUE :主队队首出列ST…

厦大上机1387

进制转换进阶版 描述 给若干个十进制,要求把每个数转成M(2 \le M \le 162≤M≤16)进制,用递归实现,和一般进制表示法相同,A代表10,B代表11,C代表12,D代表13,…

51nod1387 移数字

题面 题目链接 解题思路 当 n n n是偶数是&#xff0c;答案是 n ! n! n!&#xff0c;当 n n n是奇数时&#xff0c;答案是 n ! 2 \frac{n!}{2} 2n!​。 这里记录一份跑的很快的MTT和求 n ! n! n!的模板&#xff0c;给出来源博客链接。 代码 #include <cstdio> #inclu…

hihocoder #1387 : A Research on The Hundred Family Surnames【虚树】

题目描述&#xff1a; 大小为n的树上每个节点上有一个姓氏(字符串&#xff0c;可能相同)&#xff0c;m个询问&#xff0c;每次询问某两个姓氏在树上的最远距离。n,m<100000 题目分析&#xff1a; 最远距离只能在直径的端点之间取得&#xff0c;建出每个姓氏的虚树求直径两…

P1387 最大正方形 DP

输入 15 10 0 0 0 0 1 0 0 0 1 0 0 0 0 0 0 0 0 0 0 1 0 1 1 1 1 1 0 0 0 0 0 1 1 1 1 1 0 0 0 0 0 0 0 0 1 0 1 1 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 1 1 1 1 1 1 1 0 0 1 1 1 1 1 1 0 1 0 0 0 1 1 1 1 1 0 1 0 0 0 1 1 1 1 1 0 1 1 0 0 1 1 1 1 1 0 1 0 0 0 1 1 1 1 1 0 1 0 0…

P1387 dp入门

原题链接&#xff1a;https://www.luogu.org/problemnew/show/P1387 用两个数组进行预处理le[i][j]表示从i,j向左延伸最大的边长up[i][j]表示向上延伸的最大边长然后枚举每一个点再枚举(i,j)到(i-temp,j)temp为当前枚举到的最短边长。复杂度为O(n^3) #include <iostream>…