矩陣如何存儲
⑴ 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文件里了,
你是要把矩陣的數據轉換為二進制後在保存為二進制形式嗎?
⑼ 總體剛度矩陣的存儲方式是什麼
方正存儲,就是將整個矩陣存儲
二維等帶寬存儲,就是存儲含對角元素及上半形元素
一維變帶寬存儲,就是將二維半帶寬存儲中的部分零元素剔除,在一維數組中存儲