matlab矩阵内存预分配就意味着,划定一个固定的内存块,各数据可直接按“行、列指数”存放到对应的元素中。若矩阵中不预配置内存。则随着“行、列指数”的变大。MATLAB就必须不断地为矩阵找到新的“空的内存”,从而导致“建造矩阵”的速度大大下降。

Hilbert矩阵的数学描写叙述

Hilbert矩阵是著名的“坏条件”矩阵,当中其第(i,j)元素的表达式是a(i,j)=1/(i+j-1)。

代码比較:

% 2014-11-8
% Hilbert矩阵的数学描写叙述 clear
tic %启动秒表计时
K=1000;
for ii=1:K %下面创建(K*K)矩阵
for jj=1:K A1(ii,jj)=1/(ii+jj-1); end end
toc %输出第一种方法耗时 tic
A2=zeros(K,K); %给矩阵预先配置内存空间
for ii=1:K for jj=1:K
A2(ii,jj)=1/(ii+jj-1);
end
end
toc %另外一种方法耗时 tic
II = repmat(1:K,K,1); %在矩阵的每行元素里设置“列指数”
JJ = II'; %在矩阵的没列元素里设置“行指数”
A3 = 1./(II+JJ-1); %採用数组除。获得Hilbert矩阵
toc %第三中方法耗时

输出结果:

Elapsed time is 1.903465 seconds.
Elapsed time is 0.010740 seconds.
Elapsed time is 0.037265 seconds.

通过以上分析,可见矩阵内存预分配效果还是非常好的,可是必须指出并非全部的循环都可与量化的。

matlab矩阵内存预分配的更多相关文章

  1. MATLAB矩阵操作大全

    转载自:http://blog.csdn.net/dengjianqiang2011/article/details/8753807 MATLAB矩阵操作大全 一.矩阵的表示 在MATLAB中创建矩阵 ...

  2. [置顶] [MATLAB技术贴]漫谈MATLAB矩阵转置

    矩阵转置是matlab最基本的操作了,但这个基本操作,也是很多初学者容易出现问题的地方.本帖通过几个实例演示matlab矩阵转置的操作. 方法一:'  运算符与  .'  运算符 >>a ...

  3. Eigen ,MKL和 matlab 矩阵乘法速度比较

    Eigen 矩阵乘法的速度  < MKL矩阵乘法的速度,MKL矩阵乘法的速度与matlab矩阵乘法的速度相差不大,但matlab GPU版本的矩阵乘法速度是CUP的两倍,在采用float数据类型 ...

  4. Matlab矩阵学习三 矩阵的运算

    Matlab矩阵的运算 一.矩阵的加减 在matlab中,矩阵的加减和数的加减符号一样,都是"+"和”-“,不同的是两个进行运算的矩阵维度必须相同  二.数乘  三.乘法 矩阵乘法 ...

  5. Matlab矩阵学习二 矩阵的修改

    Matlab矩阵的修改 一.元素修改 (1).矩阵扩充   (2)矩阵删除某行或某列 删除某行:A(m,:)=[]   %删除A矩阵的第m行   删除某列: A(:,n)=[] %删除A矩阵的第n列 ...

  6. Matlab矩阵学习一 矩阵的创建

    Matlab矩阵创建 1.直接输入数值创建       矩阵元素要用[ ] 括起来,";"代表一行结束,以下创建方式也是合法的,矩阵的元素可以是实数,也可以是复数,复数用a+bi表 ...

  7. matlab矩阵的表示和简单操作

    原地址:http://www.cnblogs.com/Ran_Ran/archive/2010/12/11/1903070.html 一.矩阵的表示在MATLAB中创建矩阵有以下规则: a.矩阵元素必 ...

  8. [转]numpy线性代数基础 - Python和MATLAB矩阵处理的不同

    转自:http://blog.csdn.net/pipisorry/article/details/45563695 http://blog.csdn.net/pipisorry/article/de ...

  9. Matlab 矩阵【Mark】

    一.矩阵的表示在MATLAB中创建矩阵有以下规则: a.矩阵元素必须在”[ ]”内: b.矩阵的同行元素之间用空格(或”,”)隔开: c.矩阵的行与行之间用”;”(或回车符)隔开: d.矩阵的元素可以 ...

随机推荐

  1. 微信小程序——自定义图标组件

    字体图标在网页中非常常见了.为了方便在小程序里面重复使用,自定义了一个图标组件,方便控制它的大小,颜色,自定义点击事件. 自定义图标组件的代码如下: 下面的代码是icon文件夹下面的4个文件 inde ...

  2. 想做web开发 就学JavaScript

    有一天我被问到,为了快速地在 web 开发工作上增加优势,应该学习什么语言.我的思绪回到了大学,那时候我用 Pascal.Fortran.C和汇编语言,不过那个时候有不同的目标. 鉴于当前的状况和趋势 ...

  3. Sword STL仿函数示例

    一元函数 unary_function .有返回值. .只有一个参数. template <class Arg, class Result> struct unary_function { ...

  4. qt 字体的相关问题

    (一)qtconfig字体列表不全的问题? 发现界面的上的文字不能正常显示,后调用qtconfig发现里面识别的字体非常少,怀疑是编译的时候参数未能设置正确,于是经过多次试验,终于成功找到根结所在,. ...

  5. oracle 中execute immediate

    简单来说 就是你一个存储过程当中 创建了一个表 table_a 然后要用insert into将其他的数据插入到这个table_a当中,但是因为你在创建过程的时候 table_a还不存在,过程就会显示 ...

  6. 第三百七十四节,Django+Xadmin打造上线标准的在线教育平台—创建课程app,在models.py文件生成4张表,课程表、课程章节表、课程视频表、课程资源表

    第三百七十四节,Django+Xadmin打造上线标准的在线教育平台—创建课程app,在models.py文件生成4张表,课程表.课程章节表.课程视频表.课程资源表 创建名称为app_courses的 ...

  7. 第三百六十七节,Python分布式爬虫打造搜索引擎Scrapy精讲—elasticsearch(搜索引擎)scrapy写入数据到elasticsearch中

    第三百六十七节,Python分布式爬虫打造搜索引擎Scrapy精讲—elasticsearch(搜索引擎)scrapy写入数据到elasticsearch中 前面我们讲到的elasticsearch( ...

  8. HttpURLConnection 发送 文件和字符串信息

    以文件的形式传参/**     * 通过拼接的方式构造请求内容,实现参数传输以及文件传输     *      * @param actionUrl 访问的服务器URL     * @param pa ...

  9. 基于Redis实现分布式锁以及任务队列

    一.前言 双十一刚过不久,大家都知道在天猫.京东.苏宁等等电商网站上有很多秒杀活动,例如在某一个时刻抢购一个原价1999现在秒杀价只要999的手机时,会迎来一个用户请求的高峰期,可能会有几十万几百万的 ...

  10. utf8 ucs4

    这个问题不好回答,首先UTF-8编码只不过是一种Unicode的转换,兼容ASCII.所以,UTF-8编码支持的最大字符编码应该是Unicode支持的最大字符编码. 理论上,UTF-8编码可以支持最大 ...