矩阵如何存储
⑴ matlab如何把矩阵单独存储,下次用的时候直接调用
你把矩阵用文本格式存储,在下次使用时,直接进行行或列的调用就行。例如:在D:/program Files/Matlab/R2008a/work中新建一个文本文件,把你的矩阵放进去,起个名字(p.txt),下次就可以直接调用。data=load('p.txt')
⑵ 存储矩阵示意图怎么看
在图形处理中,矩阵操作时最基本的操作,但是不同的系统中对矩阵的存储是不同,比如OpenGL和Cg中就是不一样的:
比如一个4x4矩阵[m11,m12,m13,m14
m21,m22,m23,m24
m31,m32,m33,m34
m41,m42,m43,m44],
在实现中通常将其存储为一个一维的线性数组如float matrix【16】或者float* matrix。
在opengl中这个matrix中数据的顺序是先遍历列的,线性存储为{m11,m21,m31,m41,m12,m22,m32......},这被称为矩阵的列序(column-major)存储,我们使用GlGetfloatv(GL_MODELVIEW_MATRIX,...)等得到的存储矩阵的数组都是按照这样的顺序存储矩阵的。
但是在cg中这个matrix的存储顺序确实先遍历行的,也就是存储为{m11,m12,m13,m14,m21,m22,m23,m24,m31,......},称为行序(row-major)存储,可能多数人认为这种存储顺序更“自然”,(其实我也这么觉得),这种存储方式也被称为是c-style的,好像是大多数系统里是按照行序存储矩阵的。
不同的系统对矩阵的存储方式不一样,如果在程序中综合使用了不同的框架,就要注意进行统一了,比如你在opengl 中使用了CG脚本的时候,例如一个cg程序void programm(uniform float4x4 modelviewMatrix,... ...)要求你从程序中传入一个modelview矩阵,我们在程序中使用opengl的GlGetfloatv()函数得到了float* glmatrix 为这个modelview矩阵,但是这个glmatrix确不能直接赋给modelviewMatrix供cg使用,因为cg在解析这个glmatrix 会把它解析为行序的,我们可以在让modelviewMatrix得到glmatrix 后,调用transfor()将modelviewMatrix做一个转置,modelviewMatrix就变成cg所能正确解析的行序的了。
行序和列序的转换其实就是一个矩阵的转置关系,虽然这个变换很简单,但是在使用不同的框架时,要记得先注意一下这个系统式采用哪种方式存储矩阵的,才不会犯错。
⑶ matlab在哪存储矩阵
在数据列表选你产生的矩阵,右键存储,存为XXX.mat 文件。放在工作目录下。
下次运行,第一行写: load('XXX.mat');
就行了,学会用说明书,有问题点帮助,查下。谢谢。
⑷ 矩阵存储器技术
矩阵存储技术是英特尔945X芯片的最新功能。数据的安生性和速度已经成为计算机平台进步面临的最大课题。矩阵存储技术将为用户提供特性丰富的RAID 0,1,5,10解决方案,全面提升计算机平台存储能力。
⑸ matlab gpuarray gpu显存矩阵怎么存储 按行存储
就是用你的矩阵的大小乘以矩阵的个数乘以sizeof(float)
先是你这两个矩阵的大小是40*10k的,这两个所需内存大小是40*10k*2*sizeof(float)
然后是你的到得结果的矩阵的大小是40*40的所需内存大小是40*40*sizeof(float)。
你1G的显存,相当于1*1024*1024*1024个字节,你算算够不够吧。
⑹ 数据结构,矩阵存储问题求解。
是这样存储的
a11
a21
a22
a31
a32
a33。。。。。
以此类推。
那么a11到a77一共有(1+7)*7/2=28个。
a81到a85是5个
所以就是33
⑺ matlab 矩阵元素按列储存A(3)
1.直接输入法
最简单的建立矩阵的方法是从键盘直接输入矩阵的元素。具体方法如下:将矩阵的元素用方括号括起来,按 矩阵行的顺序输入各元素,同一行的各元素之间用空格或逗号分隔,不同行的元素之间用分号分隔。
2.利用M文件建立矩阵
对于比较大且比较复杂的矩阵, 可以为它专门建立一个M文件。下面通过一个简单例子来说明如何利用M文件创建矩阵。
例2-2 利用M文件建立MYMAT矩阵。
(1) 启动有关编辑程序或MATLAB文本编辑器,并输入待建矩阵:
(2) 把输入的内容以纯文本方式存盘(设文件名为mymatrix.m)。
(3) 在MATLAB命令窗口中输入mymatrix,即运行该M文件,就会自动建立一个名为MYMAT的矩阵,可供以后使用。
3.利用冒号表达式建立一个向量
冒号表达式可以产生一个行向量,一般格式是:
e1:e2:e3
其中e1为初始值,e2为步长,e3为终止值。
在MATLAB中,还可以用linspace函数产生行向量。其调用格式为:
linspace(a,b,n)
其中a和b是生成向量的第一个和最后一个元素,n是元素总数。
显然,linspace(a,b,n)与a:(b-a)/(n-1):b等价。
4.建立大矩阵
大矩阵可由方括号中的小矩阵或向量建立起来。
2.2.2 矩阵的拆分
1.矩阵元素
通过下标引用矩阵的元素,例如
A(3,2)=200
采用矩阵元素的序号来引用矩阵元素。矩阵 元素的序号就是相应元素在内存中的排列顺序。在MATLAB中,矩阵元素按列存储,先第一列,再第二列,依次类推。例如
A=[1,2,3;4,5,6];
A(3)
ans =
⑻ 如何将matlab中的矩阵以二进制存储
假设你要保存的矩阵为M;如下所示:
M=[1
2
3
4;5
6
7
8;1
1
1
1];
fp
=
fopen('a.txt','wb');
fprintf(fp,'%f\r\n',M);
fclose(fp);
这样就把M中的数据保存在当前目录下的a.txt文件里了,
你是要把矩阵的数据转换为二进制后在保存为二进制形式吗?
⑼ 总体刚度矩阵的存储方式是什么
方正存储,就是将整个矩阵存储
二维等带宽存储,就是存储含对角元素及上半角元素
一维变带宽存储,就是将二维半带宽存储中的部分零元素剔除,在一维数组中存储