Matlab 之 数据元素访问

Matlab的含义是矩阵实验室,其特征之一就是数据的向量化操作,借此提升软件运行效率。那么,必然会涉及数据元素的访问。Matlab主要支持下面一些形式的访问:

(1)array-inde: A(i)

(2)cell-index: C{i}

(3)struct field: S.fieldname

不同的访问方式,效率差别很大,我们以单个元素或者域的访问为例,探讨不同的数据结构的访问时间。

一百万次访问的平均时间对比:

(1)array-index: 0.002675s

(2)cell-index: 0.1311

(3)struct field: 0.002250s

从中我们可以发现,array-index与struct field访问的方式速度差不多,可以达到约每秒4亿次,但cell-index的访问方式则明显变慢,速度为约每秒760万次,大约慢了50倍。

因此,如若可能,在实验中,我们还是应该尽量采用向量化,或者结构体来定义数据结构,从而加快运行速度。

时间: 2024-11-06 07:57:46

Matlab 之 数据元素访问的相关文章

OpenCV:Mat元素访问方法、性能、代码复杂度以及安全性分析

欢迎转载,尊重原创,所以转载请注明出处: http://blog.csdn.net/bendanban/article/details/30527785 本文讲述了OpenCV中几种访问矩阵元素的方法,在指定平台上给出性能比较,分析每种矩阵元素访问方法的代码复杂度,易用性. 一.预备设置 本文假设你已经正确配置了OpenCV的环境,为方便大家实验,在文中也给出了编译源程序的Makefile,其内容如代码段1所示. 采用如代码段2所示的计时函数,这段代码你可以在我之前的博文中找到,abtic()

2014.08.04,读书,《Matlab概率与数理统计分析》-第1章 MATLAB的数据基础

第1章 MATLAB数据基础 虽然一直间或使用MATLAB,但从来没有系统的学习过,现在开始也不晚.先对几个重点或者平时忽略的要点做下笔记. %后的所有文字为注释,多条命令可以放在一行,但要用逗号或分号隔开,命令后的逗号表示显示结果,分号表示禁止显示结果. 符号…表示语句的余下部分将出现在下一行,但不能出现在变量名或运算符之间. M文件又称Script文件,具有全局性,文件中的所有变量在整个工作环境中有效. 命令: cumsum(x,dim),求累积和,matlab中cumsum函数通常用于计算

opencv之mat元素访问

单通道mat元素访问:使用 img.at<float>(row,col) 1 #include <stdlib.h> 2 #include <stdio.h> 3 #include <opencv/cv.h> 4 #include <opencv/highgui.h> 5 #include <opencv2/opencv.hpp> 6 7 using namespace std; 8 using namespace cv; 9 int

matlab三维数据绘图

 3D数据绘制唇部图像主要由两部分构成,一个是唇部在X-Y平面的栅格,一个是根据相应Z轴的涂色.主要使用了matlab里meshgrid.surf和shading. 1 使用meshgrid生成栅格 meshgrid(x,y)由向量x和向量y通过复制的方法产生绘制图形时所需的栅格数据点矩阵X.Y.该命令产生栅格数据方法为:将向量X作为矩阵X的一个行向量,并将向量X复制length(y)次,以构成栅格数据点X矩阵:同样,将向量y作为矩阵Y的一个列向量,并将向量y复制length(x)次,以构成

数据元素文本增强(修改标准数据元素描述)

事务代码:CMOD 1. . 2. 3. 4. 5. 数据元素文本增强(修改标准数据元素描述),布布扣,bubuko.com

spring mvc 的jpa JpaRepository数据层 访问方式汇总

spring mvc 的jpa JpaRepository数据层 访问方式汇总 博客分类: spring jpa springjpaJpaRepository 本文转载至:http://perfy315.iteye.com/blog/1460226 AppleFramework在数据访问控制层采用了Spring Data作为这一层的解决方案,下面就对Spring Data相关知识作一个较为详细的描述. 1.Spring Data所解决的问题 Spring Data :提供了一整套数据访问层(DA

matlab各类数据l图像之间的转化

matlab各类数据图像之间的转化 rgb类型转化为二值的过程如下: 1.采用命令im2double将rgb类型转化三维的double >> str='E:\programing\Eigenface_PAC\Face\image_0001.jpg'; >> A=imread(str); >> imshow(A); 2.用命令imresize调整图像的尺寸大小 >> B=imresize(A,[529 529]); >> imshow(B); 3.

开放缓存服务( Open Cache Service,简称OCS)是在线缓存服务,为热点数据的访问提供高速响应。

阿里云的OCS(开放缓存服务) 开放缓存服务( Open Cache Service,简称OCS)是在线缓存服务,为热点数据的访问提供高速响应.

Oracle字符乱码、数据越界访问典型Bug分析

前言: 作为乙方,在甲方客户那里验收阶段发现两个诡异Bug.以下就问题来源.问题根因.解决方案.如何避免做详细描述. 一.Bug1:Oracle读写字符乱码. 1.问题来源 Oracle数据库监听http://blog.csdn.net/laoyang360/article/details/46524519 需要获取最新插入的中文类别字符,以判定分类.单步调试发现每次接收到的都是乱码. 2.问题根因 编码格式不一致导致. 3.解决方案 第一步:查看oracle自身的编码格式,可以通过命令sele