1樓:匿名使用者
b是字串形式的
嗎?如果是這樣就專
可以:屬
b=['0101';'0000';'1010';'1111']b =0101
0000
1010
1111
>> b-48
ans =
0 1 0 1
0 0 0 0
1 0 1 0
1 1 1 1
matlab中如何將二進位制矩陣轉為十進位制矩陣
2樓:志當存高遠
您好,是這樣的:
a=[1 2 3 ;4 5 6 ;7 8 9];
b=dec2bin(a)%將a轉為二進位制
c=cell(size(a))%由於得到的b的形狀與a不同,我們建立一個新的元胞資料c
for i=1:length(b)
c=b(i,:);%得到的c就與a的形狀一樣了endd=cell(size(a));%再建立兩個元胞矩陣,分別存放奇數與偶數項
e=cell(size(a));
for i=1:length(b)
d=c(1:2:end);%d為奇數項
e=c(2:2:end);%e為偶數項end
matlab中將一個向量矩陣轉化為一列向量矩陣
3樓:兔子和小強
函式bai
輸入是個n1 * n2矩陣,返回(n1^2) * (n2/n1)的矩陣。dun2要能整zhi除n1。
你應該輸入dao4*8或4*12之類的矩陣。
函式寫的很麻煩回,可以答簡化下:
function y = zhuanlie(x)y = reshape(x', size(x,2)/size(x,1), )';
end或直接使用控制代碼:
zhuanlie = @(x)reshape(x', size(x,2)/size(x,1), )';
如何將matlab中的矩陣以二進位制儲存?
4樓:匿名使用者
假設你要儲存的矩陣為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檔案裡了,你是要把矩陣的資料轉換為二進位制後在儲存為二進位制形式嗎?
5樓:匿名使用者
1.matlab:
fid=fopen("bif.bin","wb");
fwrite(fid,a','double');%a是矩陣,double是儲存檔案的資料型別。a'是a的轉置,原因是,在matlab中資料是按列存放,c中是按行。所以在matlab中應先進行轉置,這樣
%到c中讀出的資料才是正確的。
2.c:
(1)c中使用fopen,讀取到二維陣列中int num_read = fread(buf, 1, length, fp);(2)舉例:
matlab中怎麼將一個矩陣變為一個行向量
6樓:我去月球遼
reshape(x,m,n)%%x為行向量,m*n=length(x)
>> a=rand(1,16);
>> b=reshape(a,2,8)
b =0.4447 0.7919 0.7382 0.4057 0.9169 0.8936 0.3529 0.0099
0.6154 0.9218 0.1763 0.9355 0.4103 0.0579 0.8132 0.1389
>> b=reshape(a,4,4)
b =0.4447 0.7382 0.
9169 0.35290.6154 0.
1763 0.4103 0.81320.
7919 0.4057 0.8936 0.
00990.9218 0.9355 0.
0579 0.1389擴充套件資料matlab矩陣變換:
1、對角陣:
對角矩陣:只有對角線上有非零元素的矩陣。
數量矩陣:對角線上的元素相等的對角矩陣。
單位矩陣:對角線上的元素都為1的對角矩陣。
2、提取矩陣的對角線元素
diag(a):提取矩陣a主對角線元素,產生一個列向量。
diag(a,k):提取矩陣a第k對角線元素,產生一個列向量。
3、上三角陣:triu函式
triu(a)提取矩陣a的主對角線以及以上的元素。
triu(a,k)提取矩陣a的第k條對角線以及以上的元素。
7樓:匿名使用者
b=reshape(a.',1,8);
你可以看一下reshape函式,就是幹這個的。
另外reshape讀取元素是按列優先的,所以a要做個轉置。
8樓:匿名使用者
a=[1 2 3 4;3 3 4 1]
b=[a(1,:),a(2,:)]
採用矩陣裁剪組合
a =1 2 3 43 3 4 1
b =1 2 3 4 3 3 4 1
9樓:刁智覃黎
b=reshape(a.',1,8);
看下reshape函式幹
另外reshape讀取元素按列優先所a要做轉置
10樓:薩蘊秀旁良
a=[a1
a2a3];可以合併成一個新的行向量
a=[a1;a2;a3]可以合併成一個新的矩陣,每一行就是原來的一個行向量
matlab怎麼把一個十進位制矩陣用二進位制輸出
11樓:公西南風
給你寫了下
a=[1 2 3 ;4 5 6 ;7 8 9];
b=dec2bin(a)%將a轉為二進位制
c=cell(size(a))%由於得到的b的形狀與a不同,我們建立一個新的元胞資料c
for i=1:length(b)
c=b(i,:);%得到的c就與a的形狀一樣了endd=cell(size(a));%再建立兩個元胞矩陣,分別存放奇數與偶數項
e=cell(size(a));
for i=1:length(b)
d=c(1:2:end);%d為奇數項
e=c(2:2:end);%e為偶數項
end結果:
a =1 2 3
4 5 6
7 8 9
>> b
b =0001
0100
0111
0010
0101
1000
0011
0110
1001
>> c
c ='0001' '0010' '0011'
'0100' '0101' '0110'
'0111' '1000' '1001'
>> d
d ='00' '01' '01'
'00' '00' '01'
'01' '10' '10'
>> e
e ='01' '00' '01'
'10' '11' '10'
'11' '00' '01'
matlab怎麼把一個行向量變成一個矩陣
12樓:智慧小白菜
1、在我們的電腦上開啟matlab,在命令列視窗中輸入「r = [ 1 2 3 4 ];tr = r'」,其中單引號(')是用於轉置版操作的。
2、按回車鍵權之後,可以看到將行向量r轉置成為了列向量tr。
3、也可以將列向量轉置成為行向量,在命令列視窗中輸入「v = [1;2;3;4];tv = v'」。
4、按回車鍵之後,可以看到將列向量v轉置成為了行向量tv。
5、對矩陣進行轉置,矩陣轉置的操作也是通過單引號(')來實現的,在命令列視窗輸入**。
6、按回車鍵之後,可以看到將a矩陣的每列轉置成了b矩陣的每行,a矩陣的每行轉置成了b矩陣的每列。
13樓:宇逸
好像沒有直接能變成想要的函式,不過有個變維函式,reshape函式。
另外記住矩版陣元素的排列是從上到權下,從左倒右的,按照這個規則以及變維函式可以實現想要的功能:
>> a=1:6
a =1 2 3 4 5 6>> b=reshape(a,3,2)'
b =1 2 3 4 5 6
14樓:心如漂漂
matlab中有reshape函式!
二進位制怎麼轉十進位制,二進位制如何轉化為十進位制
先寫出二進位制各位上代表的數字,然後運用加法即可計算出來。舉例二進位制10101110轉換成十進位制,這個二進位制數是8位的,那麼我們寫出8位二進位制數每位上的數字。最右邊位是個位,無論幾進位制,它都是1 然後寫左邊位是右邊位乘以2得到,因為我們要轉換的是二進位制 轉換n進位制就乘以n好了 這樣寫到...
將二進位制數轉換成十進位制數,二進位制數如何轉換成十進位制數?
1乘以2的5次方 0乘以2的4次方 1乘以2的3次方 0乘以2的2次方 1乘以2的1次方 每個數都這樣算就可以了 要什麼過程,你用計算器,按到二進位制,一轉不就行樂 10101 1 2 4 0 2 3 1 2 2 0 2 1 1 2 0 16 4 1 21 同理,110001 1 2 5 1 2 4...
二進位制轉十進位制演算法,二進位制轉十進位制演算法 01100000 00101100 01011000 11001010要具體演算法過程 文字解釋不給
從左往右算,左邊一位乘以2加上後一位,依次算下去 01100000 0 2 0 0 2 1 0 2 2 0 2 3 0 2 4 1 2 5 1 2 6 0 2 7 96 00101100 0 2 0 0 2 1 1 2 2 1 2 3 0 2 4 1 2 5 0 2 6 0 2 7 44 01011...