Fortran不受存储的限制(memory problem),matlab有存储限制指什么意思?

常听人说,Fortran,C等语言编程不受内存的限制(havenomemoryproblem),但是matlab,mathematics等这些计算软件编程时会有存储的限制... 常听人说,Fortran,C等语言编程不受内存的限制(have no memory problem), 但是matlab,mathematics等这些计算软件编程时会有存储的限制,这句话怎么理解?存储问题又体现在什么方面呢?

我知道matlab计算时,由于存储的限制,矩阵规模不能太大。那对于Fortran,C等语言编程,理论上说是不是可以计算无限大的矩阵问题呢?
另外,matlab里面对于较大阶数矩阵的计算,有人说可以对矩阵进行分块,怎么分呢?关于这个问题可不可以推荐几本书,或者举个例子?
希望有人能帮我解惑,先谢谢啦!
另外,存储(storage)和内存(memory)怎么理解和区分?
展开
 我来答
eulerw
2014-08-05 · TA获得超过9190个赞
知道大有可为答主
回答量:1366
采纳率:37%
帮助的人:735万
展开全部
storage包括硬盘,memory只包括内存。硬盘比内存的读取速度慢很多,但是存储空间也大很多(100倍,硬盘的几个T相比于内存的几十个G)。

分块很好理解,A=[1 2; 3 4]; 你可以分成4块,左上的1,右上的2,左下的3,右下的4,这就算分块了。分块的动机是节省内存,把整个矩阵存在硬盘上,然后把分好的块一个一个的读进内存,运算完后在存回硬盘上。因为矩阵乘法可以分块做,所以运算结果不受影响(这个大学的线性代数里都会教)。但是运用硬盘的话,可以操作的矩阵尺寸可以比只能调用内存的话要大得多。

第一个问题我不是特别清楚,可能指的是fortran和c可以动态存储,例如C里的malloc和free指令,fortran里的allocate和deallocate指令,可以用到堆heap,而不是堆栈stack。
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
启帆信息
2024-11-19 广告
启帆信息是英伟达中国区代理商,原厂授权代理,提供全面的软件技术解决方案以及NVIDIA以太网产品、交换机等产品,欢迎前来咨询!... 点击进入详情页
本回答由启帆信息提供
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式