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

        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 这样的叫做 弱类型语言。通过简单的赋值形式就可以创建变量,变量类型取决于创建时的类型。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/19844.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

实在智能与浙江工商大学官宣战略合作,共建人工智能联合实验室和实习基地

5月10日,实在智能与浙江工商大学正式官宣战略合作,并进行“人工智能联合实验室” “大学生实习实践基地”揭牌仪式。躬身入局共筑人工智能人才生态,这是实在智能和浙江工商大学的共同愿景,也是校企双方深度产学研融合、加速科技型…

【蓝桥杯国赛真题26】Scratch队列练习 少儿编程scratch图形化编程 蓝桥杯省赛真题讲解

目录 scratch队列练习 一、题目要求 编程实现 二、案例分析 1、角色分析

【Linux】进程信号(中)

在上一个文章中,关于信号的产生,还有没补充完的,所以在这篇文章补充一下 文章目录 1.信号的产生硬件异常产生信号a/0问题验证为8号信号 野指针问题验证为11号信号 核心转储设置核心转储大小Core与Term的区别核心转储的作用 2.信号保存1. 概念…

np读取txt、csv文件的数据

目录 1、基础参数 2、参数详解 3、应用参数示例 机器学习中使用np.loadtxt()可以高效的导入数据,np.loadtxt()适合.txt文件和.csv文件。但是它默认读取float类型的值。 1、基础参数 numpy.loadtxt(fname, dtype, comments#, delimiterNone, convertersNone, s…

操作系统学习笔记(二)

目录 你如何理解“临界”这个词? 那你如何理解在计算机领域下的“临界”这个词呢? 如何理解计算机领域中的“同步”这个词呢? 你如何理解critical这个单词? 单标志法: 双标志先检查法 双标志后检查法&#xff0…

libevent高并发网络编程 - 05_libevent实现http客户端

文章目录 1 http客户端相关的APIevhttp_uri_parse()evhttp_uri_get_scheme()evhttp_uri_get_port()evhttp_uri_get_host()evhttp_uri_get_path()evhttp_uri_get_query()evhttp_connection_base_bufferevent_new()evhttp_request_new()evhttp_make_request()evhttp_request_get_…

图像动态裁剪

1. 背景 以两级级联模型为例,第一级目标检测模型用于检测人员,第二级目标检测模型用于检测手机、对讲机等。然后实际数据采集过程中,手机、对讲机这些设备并不在人员的一级检测框内,使得二级模型训练的样本较少。 二级目标检测模…

即拼七人拼团系统开发模式,为什么这么火?

即拼七人拼团模式主要是结合了拼团模式的奖励机制和二二复制系统的排位玩法,将产品销售中的利润最大化让利于拼团的用户,刺激用户主动分享推广,以解决平台引流和用户活跃度的问题。 具体来说,即拼七人拼团模式就是用户进入平台购买…

ArrayList 和 LinkedList 之间应该怎么选择?

Joshua Bloch:我写了 LinkedList,但我自己都不用! 对,Joshua Bloch 就是 LinkedList 的作者! 如果你真信了作者的话,那就真的大错特错了,LinkedList 虽然用的没有 ArrayList 多,但使…

【致敬未来的攻城狮计划】— 连续打卡第二十七天:瑞萨RA RA2E1 的 BTN触摸按键

文章目录 由于一些特殊原因: 系列文章链接:(其他系列文章,请点击链接,可以跳转到其他系列文章)或者参考我的专栏“ 瑞萨MCU ”,里面是 瑞萨RA2E1 系列文章。 24.RA2E1的 DMAC——数据传输 25.R…

自学黑客(网络安全),一般人我劝你还是算了吧

一、自学网络安全学习的误区和陷阱 1.不要试图先成为一名程序员(以编程为基础的学习)再开始学习 我在之前的回答中,我都一再强调不要以编程为基础再开始学习网络安全,一般来说,学习编程不但学习周期长,而…

漏洞分析丨CVE-2012-1873

一、漏洞简述 cve-2012-1873同样是一个著名的堆溢出漏洞,他是IE6-8中MSHTL.dll中的CTableLayout::CalculateMinMax函数里,程序在执行时会以HTML代码中的元素span属性作为循环控制次数向堆中写入数据。第一次会优先根据span申请堆空间,当我们…

数据库事务

目录 一.事务 1.为什么要存在事务 2.什么是事务 3.事务的特性(ACID) 4.MySQL中事务的使用 二.事务的隔离级别 1.什么是隔离级别 2.隔离级别的分类 3.不同隔离级别的现象 4.MySQL中设置隔离级别 5. 四种隔离级别和锁 1.READ-UNCOMMITED 2.READ-COMMITED 3.REPEATAB…

前端实现可拖拽课程表【纯HTML、CSS、JS】

前言 hello,今天实现点小动画,帮助学习理解Web api的拖拽效果,这里实现的是可拖拽的课程表!# 效果图 附:作者没钱去除水印,就这样看一下简单的看一下效果吧! 实现前言知识 这里我使用事件委…

区间合并(算法)

目录 题目代码实现注意点 题目 给定 n n n 个区间 [ l i , r i ] [l_i, r_i] [li​,ri​],要求合并所有有交集的区间。 注意如果在端点处相交,也算有交集。 输出合并完成后的区间个数。 例如: [ 1 , 3 ] [1,3] [1,3] 和 [ 2 , 6 ] [2,…

Maven POM和Maven构建配置文件操作笔记

目录 我到现在还是没有太搞懂Maven的作用,我只是有一个模糊的概念就是它可以添加很多的依赖,这样会使项目搭建起来更加方便,你可以谈谈你的看法吗? Maven POM 父(Super)POM POM 标签大全详解 Maven 构建…

DSP:数字信号处理的原理及应用

什么是DSP?DSP一般有两种解释: 1、Digital Signal Processing,数字信号处理技术,简称DSP。是一门涉及许多学科而又广泛应用于许多领域的新兴学科。数字信号处理是围绕着数字信号处理的理论、实现和应用等几个方面发展起来的。数字…

如何用u盘重装系统win7

​如今的U盘重装win7系统是比较常见的重装win7系统的方法,适用性比较高,操作也十分的简单。有的小伙伴想给自己的电脑重装win7,那么我们用u盘重装系统怎么安装win7?现在小编就来教大家如何用u盘重装系统教程。 工具/原料: 系统…

git commit 设置 eslint + pretter 格式化校验

系统版本 node 版本: v14.17.5 npm 版本: 6.14.14 vue-cli 版本: vue/cli 4.5.19 目录 系统版本 1. 新建一个 vue2.X 空项目 2. 安装插件 eslint ,并初始化 eslint 配置,根目录生成 .eslintrc 配置文件 3. 测试 eslint 配置 4. 安装 husky、lint-staged 5. 在package.j…

使用svg在元素直接绘制连线箭头

注意&#xff1a;svg的图形绘制的点位置坐标是基于画布的位置坐标&#xff0c;相当于从左上角的点为起点。 先来个简单示例&#xff1a; 在点与点之间绘制连线箭头 <!DOCTYPE html> <html lang"en"> <head><meta charset"UTF-8">…