数学建模与MATLAB-5

前言

今天我们接着专栏第四篇文章讲,主要也是讲MATLAB中数组、矩阵运算的相关部分。该部分内容较多,希望大家持续关注。

数组信息的获取

下面介绍如何获取数组的信息,包括数组的大小、维数、数据类型、内存占用以及数组元素的排序和查找等。
1、函数isempty(A):检测数组是否为空数组,如果是空数组则返回值为“1”,否则返回值为“0”。
2、函数isscalar(A)检测数组是否为单个元素的标量。
3、函数isvector(A)检测数组是否为行向量或列向量。
4、函数isrow()检测数组是否为列向量。
5、函数iscolum()检测数组是否为行向量。
6、函数issparse()检测数组是否为稀疏矩阵。

我们给出一个实例来帮助记忆和理解:

clear all;
A=[11 0 0 1 5]
f1=isempty(A)
f2=isscalar(A)
f3=isvector(A)
f4=issparse(A)

运行结果为:
在这里插入图片描述接下来我们来看看
如何获取数组的大小
在MATLAB中最常用的检测数组大小的函数就是size()和length()
函数size()获取数组的行数和列数,函数length()获取一维数组的长度,如果是二维数组则返回行数和列数中较大的那个。
函数ndims()计算数组的维度。(英语dimension有维度之意,辅助大家记忆)

这里给出一些实例

clear all;
A=[11 0 0 1 5]
d=size(A)
[m,n]=size(A)
length(A)

在这里插入图片描述

clear all;
A=[11 0 0 1 5]
n1=ndims(A)
a=5;
n2=ndims(a)

在这里插入图片描述

在MATLAB中,可以用whos来获取数组的大小和内存占用的大小,对于数组中不同的数据类型,占用的内存大小也是不一样的。
在MATLAB中,数组元素查找用find(),返回关系表达式为真的元素的下标。数组的排序使用sort(),函数默认升序排序,返回值为排序后的数组,与原数组的维数相同。

clear all;
A=[10 9 6 1 5]
find(A>5)
find(A==5)
A(find(A>5))=A(find(A>5))+100
A(A==5)=200

使用find()可以很方便地对数组的元素进行修改。

clear all;
A=[11 0 0 1 5]
B=A>5
f1=isnumeric(A)
f2=isreal(A)
f3=isinteger(A)
f4=islogical(B)

另外,还可以用函数isnumeric()来判断数组元素的数据类型,看看是不是数值型。isreal()判断是否为是否为实数型,isinteger()判断是否为整数型,islogical()判断是否为逻辑型。
我们来看一下运行结果
在这里插入图片描述

由上面可见A是数值型的,B是逻辑型的
但是大家可能会有疑问,为什么f3的结果是“0”?
这里大家一定要记清楚: Constants are double-precision by default(默认情况下,常量是双精度的)

总结

本文主要讲解了关于数组的一些操作,与专栏第四篇文章是相联系的,后面我们将进一步升入去了解和学习矩阵的使用和运算。
本专栏将于近期不断更新,欢迎大家交流指正吐槽
在这里插入图片描述

©️2020 CSDN 皮肤主题: 游动-白 设计师:上身试试 返回首页