matlab内存管理(二)

2023-11-15

转自:http://hi.baidu.com/bi%CB%AB%C9%FA%BB%A8/blog/item/5ab86c38ac2f45e715cecbab.html

 

1,确保内存的连续性
Matlab 中数组必须占用连续分配的内存段
当无法为新建的数组分配连续的内存段的时候
Out of Memory 就会出现
由于反复分配和释放数组会使可用的连续内存段减少
实际操作中可如下处理:
a,将不用的数据存储在工作目录,让下一步计算需要的单独存储
b,用clear清空内存
c,载入需要计算的变量
d,用 pack 命令
这是将内存中的数组写入硬盘,然后重建这些数组,以减少内存碎片

可以用命令 feature('memstats')来查看内存的使用情况

2,减少使用双浮点数
Matlab 默认的数字类型是双精度浮点数double
每个双浮点数占用 8 个字节
对于一些整数操作来说,使用双浮点数显得很浪费
在很多精度要求不高的情况下,使用4个字节的单浮点数 single
可以减少一半的内存
关于单、双浮点数的精度对照如下,以便根据需要选择使用:

single: 精度 (1.1921e-007) 最大数 (3.4028e+038)
double: 精度 (2.2204e-016) 最大数 (1.7977e+308)

 

除了升级内存和升级64位系统外,下面几个方法也是解决之道。

# 增加虚拟内存
# 采用PACK (在命令行输入 pack 整理内存空间)
# 采用3GB 开关启动系统(修改 c盘根目录 boot.ini 启动选项加上 /3G 例如:multi(0)disk(0)rdisk(0)partition(1)/WINDOWS="Microsoft Windows XP Professional" /noexecute=optin /fastdetect /3G

# 优化程序,减少变量 (使用稀疏矩阵 sparse ) save 保存变量 clear 变量 load 变量,需要时再读出来
# 如果必有必要,不要启动java虚拟机,采用matlab -nojvm启动 (在快捷方式属性里面的 "..../matlab.exe") 改为("...../matlab.exe" - nojvm)
#关闭Matlab Server  

# 使用 单精度 single 短整数替代 双精度。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

matlab内存管理(二) 的相关文章

  • 无法单步执行远程 SQL Server 2008 上的存储过程

    我在虚拟上安装了一个域控制器Windows Server 2008 x64 SQL Server 2008 Express x64正在运行Windows Server 2008 x64和客户端Windows 7 RTM x86 两者都已加入
  • 基本矩阵错误?

    我试图通过扫描从相机拍摄的两个图像 检测图像中的特征 匹配它们 创建基本矩阵 使用相机内在函数计算基本矩阵 然后分解它以找到旋转和翻译 这是matlab代码 I1 rgb2gray imread 1 png I2 rgb2gray imre
  • 计算给出数组中最小标准差的子集

    让我们有一个大小的向量N 例如 x rand N 1 我想计算长度子集的最小标准差K在向量中 When N and K很小 很容易找到最好的子集 因为我可以使用nchoosek N K 枚举所有可能的子集 但是当值N and K比我们说的要
  • 如何从 Matlab 运行 R 脚本 [重复]

    这个问题在这里已经有答案了 我有 m 文件 我想用它来运行 R 脚本 我怎样才能做到这一点 Matlab文件 caller m some matlab code need to call a R script some matlab cod
  • Matlab下降低图像质量

    问候 我正在尝试找到一种简单的方法来处理图像 以便将其质量从 8 位降低到 3 位 实现这一目标的最简单方法是什么 干杯 如果要线性缩放 只需将每个像素值除以 255 7 即 如果原始图像存储在矩阵 I 中 则让低分辨率图像 J I 255
  • perfmon 性能计数器是否基于与 xperf 使用的 ETW 事件“幕后”相同的东西?

    我最近开始熟悉 perfmon 和 xperf Perfmon 使用性能计数器 xperf 使用 ETW Windows 事件跟踪 Perfmon 具有提供数据的对象 而 xperf 使用 提供者 组 作为这个领域的新手 我想问是否有人可以
  • 如何在 IIS 上设置 Mercurial 和 hgweb?

    我一直在寻找关于如何让 hgweb 在 IIS 上工作的不错的说明 但我没有发现太多有价值的信息 There s 这个 一步一步 https www mercurial scm org wiki HgWebDirStepByStep在 Me
  • 有什么理由不在Python中混合使用多处理和线程模块

    我正在考虑使用Python来实现一个需要大量多线程的程序 另一个要求是它将在桌面上运行 因此拥有许多进程将使应用程序显得混乱且难以杀死 在任务管理器中 因此 我正在考虑使用线程和多处理模块来减少进程数量 据我了解 GIL 仅适用于单个进程
  • PHP 7.0.5:使用未定义的常量 FTP_BINARY - 假定为“FTP_BINARY”

    在 Windows IIS 上升级到 PHP 7 0 5 终于有了 sqlsrv PDO 驱动程序 我正在使用 Laravel 5 1 当尝试连接到 FTP 驱动器时 出现以下错误https github com thephpleague
  • 批量获取当前目录,不带盘符

    如何获取当前工作目录并获取没有驱动器号的路径 例如 C testing test test I would like to get in a variable testing test test 如何修剪驱动器盘符 我可以使用获取完整路径
  • 计算向量的导数

    我有以下函数 维维亚尼曲线 Phi t cos t 2 cos t sin t sin t 只需检查它是否有效 s linspace 0 T 1000 plot3 cos s 2 cos s sin s sin s 如何推导函数Phi 可能
  • 如何使用 Anaconda Python 执行 .py 文件?

    我刚刚在我的 Windows 计算机上下载并安装了 Anaconda 但是 我在使用命令提示符执行 py 文件时遇到问题 如何让我的计算机了解 python exe 应用程序位于 Anaconda 文件夹中 以便它可以执行我的 py 文件
  • 如何从系统属性获取Windows操作系统环境变量

    我遇到一个关于系统属性环境变量的奇怪问题 如你所知 我们可以打开Computer gt Property gt Advanced System Settings gt Advanced gt System Environment Varia
  • 对 .NET Windows 安装程序应用程序执行注册表搜索

    我有一个 NET winform 安装程序应用程序 在安装之前 我会进行注册表搜索以检查计算机上是否安装了 MS Access Runtime 搜索目标机器 搜索目标机器的属性 启动条件 启动条件的属性 但是我想避免对路径进行硬编码 例如
  • 如何计算 WPF 中的非客户端窗口大小?

    WPF 有SystemParameters class http msdn microsoft com en us library system windows systemparameters aspx公开了大量的系统指标 在我的计算机上
  • 最低 DirectX 9.0c 版本以及如何检查它

    我们基于 Windows C Ogre 的游戏即将完成 在我们公开发布之前 我们必须解决这个问题 如果未更新到最新的 Dx9 0c 版本 Ogre 在许多测试计算机上都会崩溃 所有这些计算机都已经安装了 9 0c 但这一定是旧操作系统预安装
  • 在 numpy/scipy 中查找 matlab 函数

    是否有一个等价的函数find A gt 9 1 来自 numpy scipy 的 matlab 我知道有nonzeronumpy 中的函数 但我需要的是第一个索引 以便我可以在另一个提取的列中使用第一个索引 Ex A 1 2 3 9 6 4
  • 如何在 Windows 上检查子进程是否被信号杀死

    问题 给定一个在 python 中启动的子进程 其代码类似于 import subprocess p subprocess Popen command stdout subprocess PIPE stderr subprocess PIP
  • 通过 PsExec 在远程计算机中执行批处理文件

    我正在尝试通过 PSExec 在远程 PC 上运行批处理文件 在批处理文件中我刚刚编写了 记事本 下面的 psexec 命令在我的笔记本电脑上运行 但无法在远程 PC 上执行任何操作 我什至没有看到 记事本 在远程计算机的进程列表上运行 c
  • MATLAB - 从目录读取文件?

    我希望从目录中读取文件并对每个文件迭代执行操作 此操作不需要更改文件 我知道我应该为此使用 for 循环 到目前为止我已经尝试过 FILES ls path to folder for i 1 size FILES 1 STRU pdbre

随机推荐

  • ‘mvn‘ 不是内部或外部命令,也不是可运行的程序 或批处理文件——解决方法(详解,亲测有效)

    错误原因 配置Maven环境变量出现问题 解决方法 以windows 10为例子 步骤一 此电脑 属性 高级系统设置 环境变量 系统变量 新建 变量名 M2 HOME 变量值 D install maven apache maven 3 5
  • jq和vue的区别

    1 从jquery到vue的转变是一个思想想的转变 就是将原有的直接操作dom的思想转变到操作数据上去 2 传统前端开发模式中是以jq为核心的 而vue是现在一个兴起的前端js库 是一个精简的MVVM 3 jQuery是使用选择器 选取DO
  • spring boot定时任务方式

    一 定时任务实现的几种方式 Timer jdk util自带的Timer类 可以调度一个java util TimerTask任务 只能设定任务按照某个频度执行 但不能按设定时间运行 ScheduledExecutorService jdk
  • 使用Python进行测试驱动开发

    作者 Jason Diamond 译者 吴海燕 原文发表日期 12 02 2004 翻译日期 2 17 2005 原文件位置 http www onlamp com pub a python 2004 12 02 tdd pyunit ht
  • 微信小程序使用npm引入三方包详解

    目录 1 前言 2 微信小程序npm环境搭建 2 1 创建package json文件 2 2 修改 project config json 2 3 修改project private config json配置 2 4 构建 npm 包
  • sharepoint 2010 列表数据分页控件介绍 pagination UserControl

    这里主要是介绍下最近开发的一个sharepoint列表或者文档库的分页控件 并且把它包装成一个可以支持自定义列表 Custom list 文档库 Document library 讨论板 Discussion 资源库 Assets libr
  • 创建vue项目-vue2&vue3

    1 安装node 网址 下载 Node js 中文网 可以下载最新版本 也可以点击下方按钮下载其他版本 安装时全部选择默认 点击下一步 完成之后打开cmd命令窗口 检查node js是否安装成功 再查看npm是否安装成功 2 安装vue脚手
  • Redis-事务与持久化

    目录 事务 事务命令 事务的实现 事务的开始 命令入队 事务队列 执行事务 WATCH命令 不监视的情况下 监视的情况下 事务的ACID特性 A 原子性 C 一致性 I 隔离性 D 持久性 持久化 RDB持久化 Redis DataBase
  • 搜狐畅游2018年9月15日校招真题(2)

    通过该道题目 题目描述 示例代码 include
  • 苹果的「AI 建筑师」GAUDI:根据文本生成 3D 场景

    作者 李梅 编辑 陈彩娴 转载自 AI科技评论 aitechtalk 如今 每隔一段时间就有新的文本生成图像模型释出 个个效果都很强大 每每惊艳众人 这个领域已经是卷上天了 不过 像 OpenAI 的 DALL E 2 或谷歌 的 Imag
  • devops之gcp core infrastructure fundamental,应用云;开发、部署、监控

    最后更新2022 02 09 应用云 下面来看看GCP提供什么应用PaaS服务 app engine是提供标准API的 预安装 application 自动部署 自动扩展 经济 免费每日额度 基于使用的计费 SDK 满足开发 测试 部署要求
  • 微信小程序是如何上传文件以及下载文件

    微信小程序可以使用wx uploadFile API来上传文件 使用wx downloadFile API来下载文件 上传文件的步骤如下 1 创建一个选择文件的按钮 2 用户点击按钮后 调用wx chooseImage 方法来选择文件 3
  • 【IoC】Spring IoC容器生命周期内容梳理

    Spring ApplicationContext Lifecycle 前言 关于Spring源码介绍的版本是 5 2 2 REALEASE 如果有流程不一致的地方 可以看下版本是否一致 一 本文概览 Spring IoC容器生命周期整体看
  • PyTorch grad 与 Optimizer(params) 区别

    目录 PyTorch grad 与 Optimizer params 区别 PyTorch grad 与 Optimizer params 区别 Tensor 可以设置属性 requires grad True False 说明其是否进行梯
  • windows构建环境 MSYS2 安装与配置

    1 说明 MSYS2 是提供了bash shell等linux环境 版本控制软件 git hg 和MinGW w64工具链软件 是MSYS的一个升级版 集成了pacman和Mingw w64的Cygwin升级版 一般用于构建windows
  • 西门子、三菱指令大全

    一 西门子PLC编程指令 1 位逻辑指令 1 1 常开接点 地址 1 2 常闭接点 地址 1 3 XOR 位异或 1 4 NOT 信号流反向 1 5 输出线圈 1 6 中间输出 1 7 R 线圈复位 1 8 S 线圈置位 1 9 RS 复位
  • 数据可视化平台理论与实践

    前面说完了大数据开发平台的核心组件 作业调度系统 接下来讨论一下大数据开发平台的脸面之一 数据可视化平台 和调度系统一样 这又是一个很多公司可能想要自己造一个轮子的系统 数据可视化平台是什么 不过 慢着 先等一下 什么是数据可视化平台 我们
  • R语言数据集的学习

    创建数据集 一 数据集的概念 二 数据结构 1 向量 2 矩阵 3 数组 4 数据框 一 数据集的概念 按照个人要求的格式来创建含有研究信息的数据集 这是任何数据分析的第一步 在R中 这个任务包括以下两步 选择一种数据结构来存储数据 将数据
  • ipad如何改造成linux终端,如何实现让ipad上使用终端terminal

    实现的具体步骤如下 1 cydia安装openssh 2 installous安装issh 3 进入issh 选add configuration description 随便填 host localhost port 22 login r
  • matlab内存管理(二)

    转自 http hi baidu com bi CB AB C9 FA BB A8 blog item 5ab86c38ac2f45e715cecbab html 1 确保内存的连续性Matlab 中数组必须占用连续分配的内存段当无法为新建