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

news/2023/12/5 8:11:33
        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>…

洛谷P1387_

题目大意:在n*m的01矩阵中找出最大的1正方形&#xff0c;并输出其边长 输入第一行n, m 接下来输入01矩阵 输出最大1正方形的边长 dp[i][j]表示以(i, j)为右下角的正方形的最大边长 从右下角(i, j)看&#xff0c;必须满足其上&#xff0c;左和左上全为1&#xff0c;才能扩展…

九度OJ 1387

2019独角兽企业重金招聘Python工程师标准>>> /*** brief jiu du 1387* file 1387.cpp* author mianma* created 2015/01/21 18:09* edited 2015/01/21 18:09* type * note*/ #include <fstream> #include <iostream> #include <string> #include…

hihoCoder 1387 A Research on The Hundred Family Surnames

题面 描述 The Hundred Family Surnames is a classic Chinese text composed of common Chinese surnames. The book was composed in the early Song Dynasty. It originally contained 411 surnames, and was later expanded to 504. Of these, 444 are single-character …

【A_star三维路径规划】基于matlab A_star算法无人机三维路径规划【含Matlab源码 1387期】

⛄一、A_star算法简介 0 引言 随着现代技术的发展&#xff0c;飞行器种类不断变多&#xff0c;应用也日趋专一化、完善化&#xff0c;如专门用作植保的大疆PS-X625无人机&#xff0c;用作街景拍摄与监控巡察的宝鸡行翼航空科技的X8无人机&#xff0c;以及用作水下救援的白鲨MI…

互斥锁实现线程互斥(嵌入式学习)

互斥锁实现线程互斥 互斥锁的概念互斥锁的函数示例代码 互斥锁的概念 互斥锁&#xff08;Mutex&#xff09;是一种用于多线程编程的同步原语&#xff08;synchronization primitive&#xff09;&#xff0c;用于实现线程之间的互斥访问共享资源。互斥锁提供了一种机制&#xff…

洛谷 P1387 dp

https://www.luogu.org/problemnew/show/P1387 题目描述 在一个n*m的只包含0和1的矩阵里找出一个不包含0的最大正方形&#xff0c;输出边长。 输入输出格式 输入格式&#xff1a; 输入文件第一行为两个整数n,m&#xff08;1<n,m<100&#xff09;&#xff0c;接下来n行…

HDU1387 Team Queue

题目描述&#xff1a; Problem Description Queues and Priority Queues are data structures which are known to most computer scientists. The Team Queue, however, is not so well known, though it occurs often in everyday life. At lunch time the queue in front of…

1387 最大正方形

难度&#xff1a;普及/提高- 题目类型&#xff1a;动规 提交次数&#xff1a;1 涉及知识&#xff1a;多维动规 题目描述 在一个n*m的只包含0和1的矩阵里找出一个不包含0的最大正方形&#xff0c;输出边长。 输入输出格式 输入格式&#xff1a; 输入文件第一行为两个整数n,m&…

P1387 最大正方形

水题, 二维前缀和. 附ac代码: #include <bits/stdc.h> using namespace std; typedef long long ll; ll a[105][105], sum[105][105];//二维/多维前缀和 int main(int argc, char const *argv[]) {ll n, m;cin >> n >> m;for (int i 1; i < n; i){for …

洛谷P1387题解

本题考点&#xff1a;dp 作者用时&#xff1a;30min(其实是3day) 这道题有好几种写法&#xff0c;得分不同。 一、<O(n^4*m) 枚举正方形的边长(n~1),把一整个地图&#xff08;n*m&#xff09;都搜一遍&#xff0c;每一次都向右上角找一个i*i的正方形&#xff0c;判断是…

【大学计算机技术】第七章 测试1

文章目录 选择题 选择题 在一台已感染病毒的计算机上读取一张CD-ROM光盘中的数据&#xff0c;该光盘也有可能被感染病毒。 A. 正确 B. 错误 正确答案&#xff1a; B 杀毒软件的病毒特征库汇集了已出现的所有病毒特征&#xff0c;因此可以查杀所有病毒&#xff0c;有效保护信息…

el-table合计行单元格合并、单元格样式修改

1、目标效果 源码放在下面&#xff0c;复制粘贴即可 &#xff08;1&#xff09;合计行放在头部&#xff0c;且字体颜色变粗、合计行背景色变粗 &#xff08;2&#xff09;合计行年龄算平均值且字体颜色为绿色&#xff0c;财产算总数且字体颜色为红色 2、原理 2.1、el-table中s…
最新文章