数学建模与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(默认情况下,常量是双精度的)
总结
本文主要讲解了关于数组的一些操作,与专栏第四篇文章是相联系的,后面我们将进一步升入去了解和学习矩阵的使用和运算。
本专栏将于近期不断更新,欢迎大家交流指正吐槽
- 留学生作业代写 编程代写 有偿代写 python matlab数学建模 机器学习 深度学习 c# c++ 数学 算法 论文程序代写
- 数学建模 matlab 数据建模基础
- 【数学建模集训系列】公交查询系统的matlab实现-只含公交的查询
- 【数学建模集训系列】Matlab相机标定工具箱TOOLBOX_calib翻译-TOOLBOX_calib简介
- Matlab--数学建模
- 2017年研究生数学建模竞赛-E题 MATLAB 作战区域道路示意图
- 数学建模 matlab 数据的拟合和回归
- 2011年数学建模B题 遗传算法优化平台设置matlab实现
- 大数据分析/数学建模-MATLAB多套视频教程合集+200多本MATLAB技术文档+电子书
- 【数学建模】图与网络 提纲 & matlab代码
- 数学建模专栏 | 开篇:如何备战数学建模竞赛之 MATLAB 编程
- 【数学建模】MATLAB学习笔记——函数式文件
- 数学建模 MATLAB MATLAB全局优化算法
- 数学建模 - 01背包问题多种解法 | C语言、Matlab、Lingo
- matlab gui--数学建模长江水质的查询
- 【转载】数学建模——MATLAB寻找最短路径(Dijkstra算法和Floyd算法)
- 数学建模常用Matlab/Lingo/c代码总结系列——最小费用最大流问题
- 数学建模常用Matlab/Lingo/c代码总结系列——非线性拟合
- 数学建模与MATLAB-7
- 数学建模(matlab)学习笔记--线性规划