当前位置: 首页 > news >正文

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

相关文章:

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

MATLAB 程序的基本数据单元是数组。一个数组是以行和列组织起来的数据集合,并且拥有一个数组名。数组中的单个数据是可以被访问的,访问的方法是数组名后带一个括号,括号内是这个数据所对应行标和列标。标量在 MATLAB 中也被当作数组来处理——…...

Linux命令·wget

Linux系统中的wget是一个下载文件的工具,它用在命令行下。对于Linux用户是必不可少的工具,我们经常要下载一些软件或从远程服务器恢复备份到本地服务器。wget支持HTTP,HTTPS和FTP协议,可以使用HTTP代理。所谓的自动下载是指&#…...

API网关简介|TaobaoAPI接入

API网关是什么 在日常工作中,不同的场合下,我们可能听说过很多次网关这个名称,这里说的网关特指API网关(API Gataway)。字面意思是指将所有API的调用统一接入API网关层,由网关层负责接入和输出。 那么在什…...

OJ练习第103题——最大矩形

最大矩形 力扣链接:85. 最大矩形 题目描述 给定一个仅包含 0 和 1 、大小为 rows x cols 的二维二进制矩阵,找出只包含 1 的最大矩形,并返回其面积。 示例 输入:matrix [[“1”,“0”,“1”,“0”,“0”],[“1”,“0”,“1”…...

JavaScript实现输入年份判断是否为闰年的代码

以下为实现输入年份判断是否为闰年的程序代码和运行截图 目录 前言 一、输入年份判断是否为闰年 1.1 运行流程及思想 1.2 代码段 1.3 JavaScript语句代码 1.4 运行截图 前言 1.若有选择,您可以在目录里进行快速查找; 2.本博文代码可以根据题目要…...

LiangGaRy-学习笔记-Day12

1、作业回顾 1.1、判断磁盘利用率 要求: 判断磁盘的使用率,如果超过了90%就警告 [rootNode1 sh]# vim disk_check.sh #!/bin/bash #Author By LiangGaRy #2023年5月9日 #Usage:检测硬盘的使用率 ########################################### #定义一…...

LayUI中弹出层select动态回显设置及子页面刷新父页面Table数据方法

...

浅谈Hutool工具类

一、Hutool简介 Hutool是一个Java工具类库,它封装了很多常用的Java工具类,如加密解密、文件操作、日期时间处理、Http客户端等。它的目标是让Java开发变得更加简单、高效。 二、Hutool的特点 高效:提供了很多高效的工具类和方法。 简单&…...

Mac终端代理

1.打开代理查看代理端口号 打开设置,点击网络,点击详细信息,点击代理查看代理端口号。 2.修改环境变量 1)终端输入下面命令 vim .zshrc 2)在.zshrc文件里添加下面两段内容(注意:7980为端口号…...

Git Clone 报错 `SSL certificate problem: unable to get local issuer certificate`

如果您在尝试克隆Git存储库时得到 “SSL certificate problem: unable to get local issuer certificate” 的错误,这意味着Git无法验证远程存储库的SSL证书。如果SSL证书是自签名的,或者SSL证书链有问题,就会发生这种情况。 $ git clone https://githu…...

第八章 文件与异常

引言 码字不易,如果这篇文章对您有帮助的话,希望您能点赞、收藏、加关注!您的鼓励就是我前进的动力! 目录 一、读取文件(一)读取文件:open(), with, read()(二)文件路径…...

Gradle使用

下载Gradle Gradle Distributions 配置环境变量 测试是否成功 cmd输入gradle -v 在.gradle目录下创建一个init.gradle allprojects { repositories { maven { url file:///D:/maven/myRepository} ## 这里是本地maven仓库地址,没有就会依次向下设置的地址寻…...

从七个方面聊聊Linux到底强在哪

从事计算机相关行业的同学不难发现,身边总有一些朋友在学习linux,有的开发同学甚至自己的电脑就是它。经常听他们说linux如何好用等等。那么linux到底好在那里,能让大家如此喜欢。这也是我经常问自己的一个问题。下面我将通过以下七点来为大家…...

python读写json文件方法详解

在我们日常使用 Python时,经常会使用到 json文件。那么在平时写一些小程序时,如何使用 json文件呢?今天我将介绍如何读取和写入 Json文件。 json是一种数据结构,它是将字符串转换成数据的一种技术。使用 json可以非常方便的将一组…...

多处最优服务次序问题——算法设计与分析(C实现)

问题描述:设有n个顾客同时等待一项服务。顾客i需要的服务时间为,共有s处可以提供此项服务。应该如何安排n个顾客的服务次序,才能使平均等待时间达到最小?平均等待时间是n个顾客的等待服务时间的总和除以n。 算法设计:对…...

2023 年 IntelliJ IDEA 下载安装教程,超详细图文教程,亲测可用

. IDEA 下载 1、打开浏览器输入https://www.jetbrains.com/,进入 Jetbrains官网,点击 Developer Tools,再点击 Intellij IDEA 2、点击中间的 Download,进入IDEA下载界面 3、选择左边的 Ultimate 版本进行下载安装。Ultimate 版…...

前端框架比较:Vue.js、React、AngularJS三者的优缺点和应用场景

章节一:引言 在当前的互联网开发中,前端框架已经成为了不可或缺的一部分。然而,前端框架如此之多,该如何选择呢?Vue.js、React和AngularJS是目前比较受欢迎的三个前端框架,它们各自有着不同的优缺点和应用…...

JavaScript中的数据可视化和动画效果

摘要: JavaScript是一种强大而灵活的编程语言,被广泛用于网页开发和交互设计。在数据可视化和动画效果方面,JavaScript提供了丰富的工具和库,使开发者能够创建出令人印象深刻的交互式数据可视化和动画效果。本文将介绍JavaScript中…...

如何搭建在线产品手册

在现代社会,随着科技的发展,越来越多的企业将目光投向互联网,并将自己的产品推向了线上。而对于这些线上产品,拥有一份完备的、易用、高质量的在线产品手册显得尤为重要。 那么如何才能搭建一份高质量且易用的在线产品手册呢&…...

Java版企业电子采购招标系统源码

一、立项管理 1、招标立项申请 功能点:招标类项目立项申请入口,用户可以保存为草稿,提交。 2、非招标立项申请 功能点:非招标立项申请入口、用户可以保存为草稿、提交。 3、采购立项列表 功能点:对草稿进行编辑&#x…...

观成科技:隐蔽隧道工具Ligolo-ng加密流量分析

1.工具介绍 Ligolo-ng是一款由go编写的高效隧道工具,该工具基于TUN接口实现其功能,利用反向TCP/TLS连接建立一条隐蔽的通信信道,支持使用Let’s Encrypt自动生成证书。Ligolo-ng的通信隐蔽性体现在其支持多种连接方式,适应复杂网…...

在rocky linux 9.5上在线安装 docker

前面是指南,后面是日志 sudo dnf config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo sudo dnf install docker-ce docker-ce-cli containerd.io -y docker version sudo systemctl start docker sudo systemctl status docker …...

ssc377d修改flash分区大小

1、flash的分区默认分配16M、 / # df -h Filesystem Size Used Available Use% Mounted on /dev/root 1.9M 1.9M 0 100% / /dev/mtdblock4 3.0M...

STM32+rt-thread判断是否联网

一、根据NETDEV_FLAG_INTERNET_UP位判断 static bool is_conncected(void) {struct netdev *dev RT_NULL;dev netdev_get_first_by_flags(NETDEV_FLAG_INTERNET_UP);if (dev RT_NULL){printf("wait netdev internet up...");return false;}else{printf("loc…...

聊聊 Pulsar:Producer 源码解析

一、前言 Apache Pulsar 是一个企业级的开源分布式消息传递平台,以其高性能、可扩展性和存储计算分离架构在消息队列和流处理领域独树一帜。在 Pulsar 的核心架构中,Producer(生产者) 是连接客户端应用与消息队列的第一步。生产者…...

【论文笔记】若干矿井粉尘检测算法概述

总的来说,传统机器学习、传统机器学习与深度学习的结合、LSTM等算法所需要的数据集来源于矿井传感器测量的粉尘浓度,通过建立回归模型来预测未来矿井的粉尘浓度。传统机器学习算法性能易受数据中极端值的影响。YOLO等计算机视觉算法所需要的数据集来源于…...

解决本地部署 SmolVLM2 大语言模型运行 flash-attn 报错

出现的问题 安装 flash-attn 会一直卡在 build 那一步或者运行报错 解决办法 是因为你安装的 flash-attn 版本没有对应上,所以报错,到 https://github.com/Dao-AILab/flash-attention/releases 下载对应版本,cu、torch、cp 的版本一定要对…...

什么?连接服务器也能可视化显示界面?:基于X11 Forwarding + CentOS + MobaXterm实战指南

文章目录 什么是X11?环境准备实战步骤1️⃣ 服务器端配置(CentOS)2️⃣ 客户端配置(MobaXterm)3️⃣ 验证X11 Forwarding4️⃣ 运行自定义GUI程序(Python示例)5️⃣ 成功效果![在这里插入图片描述](https://i-blog.csdnimg.cn/direct/55aefaea8a9f477e86d065227851fe3d.pn…...

是否存在路径(FIFOBB算法)

题目描述 一个具有 n 个顶点e条边的无向图,该图顶点的编号依次为0到n-1且不存在顶点与自身相连的边。请使用FIFOBB算法编写程序,确定是否存在从顶点 source到顶点 destination的路径。 输入 第一行两个整数,分别表示n 和 e 的值(1…...

Docker 本地安装 mysql 数据库

Docker: Accelerated Container Application Development 下载对应操作系统版本的 docker ;并安装。 基础操作不再赘述。 打开 macOS 终端,开始 docker 安装mysql之旅 第一步 docker search mysql 》〉docker search mysql NAME DE…...