1樓:匿名使用者
第一種做法:
>> a=magic(3)
a =8 1 6
3 5 7
4 9 2
>> b=zeros(size(a)+1);
>> b(1:end-1,1:end-1)=ab =8 1 6 03 5 7 0
4 9 2 0
0 0 0 0
第二種做法:
>> a=magic(3)
a =8 1 6
3 5 7
4 9 2
>> b=a;
>> b(end+1,end+1)=0
b =8 1 6 03 5 7 0
4 9 2 0
0 0 0 0
2樓:匿名使用者
b=zeros(m+1,n+1); b(1:m,1:n)=a;
matlab怎麼將乙個m行n列的矩陣表示成m個一行n列的向量
3樓:匿名使用者
% 使用 reshape(x ,m,n)函式
% 先了解一下reshape的基本用法
% 簡而言之就是將矩陣x—>m*n的新矩陣
% 例如:將 3*4的a矩陣—>2*6的b矩陣
a =[1 4 7 10
2 5 8 11
3 6 9 12];
b = reshape(a,2,6);
% 等價於 b = reshape(a(:),2,6)
% 等價於 b = reshape(a(:),2,)
% 上面執行結果為
b =[ 1 3 5 7 9 11
2 4 6 8 10 12];
% 分析:
% 因為 matlab會將a轉換成a(:)
% 按列輸出 a(:)=[1,2,3,4,5,6,7,8,9,10,11,12];
% 對b,注意b是2行6列,同樣matlab會按列輸入
% b =[ 1 3 . . . 11
% 2 . . . 10 12];
% 你說的意思,是不是矩陣a的每一列,按列元素拍在一行?
% 第一種方法:
c = reshape(a,1,);
% 第二種方法:
c=a(:)';
由於沒能完全理解題主的意思,題主可以根據我說的,按照reshape函式來解決問題
4樓:匿名使用者
為什麼要這樣表示呢?matlab可以幫助你隨時提取你想要的那一列比如x=[1,2,3;4,5,6;7,8,9];
那麼y1=x(1,:);
y2=x(2,:);
y3=x(3,:);
如果你要用到每一行,不妨這樣:
for i=1:size(x,1)
y=x(i,:);
%這裡你隨便添語句end
5樓:名山之鷹
一,整體介紹,已知乙個m行n列的矩陣,記為a,我們要將它每一行表示為乙個向量
二,所需工具,matlab
三,步驟:
1,獲取矩陣維度:[m,n]=size(a);
2,矩陣a的第i個行向量表示為:a(i,:)。其中,i 是大於等於1,並且小於等於m的整數
6樓:真
你就不把他看作乙個矩陣而是看成m個列向量不就得了。這點理解力都沒有嗎?
7樓:匿名使用者
這個我建議直接讀取它的行,比如我要讀取a[1,2,3;4,5,6;7,8,9]的第二行,matlab命令為a(2,:)。要讀去第一行,matlab命令為a(1,:)。
如果你要讀取第一列的話,matlab命令為a(:,1)
8樓:徐志超
其實沒必要這樣,你要哪行,可以直接輸入語句提取,比如要第2行,假設k是m行n列:
a=k(2,:)
9樓:匿名使用者
用mat2cell命令可以實現講乙個矩陣根據引數分塊的功能
10樓:**神探
如果矩陣a是m 行 n列,而你想將其轉置為n行m列,則使用reshape函式:
b = reshape(a, n, m)
這樣就把a轉成n行,m列的矩陣b了
11樓:羈念
cel={};a=你的矩陣;
for i=1:n
cel=a(:,i);
enda中每一列都放入了cel胞元中的乙個位置
在matlab中如何將四行三列矩陣轉換成二行六列矩陣?
12樓:shine戚七七
1:a=rand(4,3);
a=[a(1,:),a(2,:);a(3,:),a(4,:)];
2:用reshape函式
b=reshape(a,[m n]);
b=reshape(a,[2 6]);
注意轉換後和轉換前的元素個數要相等也就是2x6要等於3x4
1 矩陣的建立
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.建立大矩陣
大矩陣可由方括號中的小矩陣或向量建立起來。
matlab 如何生成乙個一行n列的行矩陣,矩陣中包含數字1:m
13樓:匿名使用者
這有點麻煩。
主程式clc;clear all
c=generate(3,10);
函式程式
function k=generate(m,n)k=zeros(n,1);
for i=1:n
k(i)=randi([1,m],1);
endk=sort(k);
end示例
c =111
1233
333>>
14樓:傲慢的
x=ceil(rand(1,6)*3); %先生成隨機數向量,ceil是向上取整
sort(x);%再排序
matlab裡如何實現n行一列的矩陣變換成一行n列的矩陣
15樓:匿名使用者
有兩種方
bai法可以實現:
轉置矩陣:du
zhi b = a';
通用方法:reshape()函式
dao示例如回下:
說明:reshape(a,m,n) 表示將矩陣a變換為m行答n列的矩陣,通常用於矩陣形狀的改變,例如下面**將原來的1行4列矩陣轉換為2行2列矩陣:
16樓:用著追她
1、準備乙個需要用於作多維多變數折線圖的「多維多變數樣本資料.xlsx」excel**。
2、然後使用版xlsread讀取所建立權的多維多變數樣本資料**,將將**資料和變數名稱都分別儲存到matlab數值矩陣和細胞矩陣中。
3、然後使用size函式計算多維多變數樣本資料的大小。
4、接下來作多維多變數圖,使用plot函式,每次取一組資料畫出折線圖然後保持,多次迴圈依次把所有折線畫出即可。
5、接下來修改橫座標為多維多變數陣列的變數名稱。
6、繼續為折線圖新增橫座標和縱座標標籤以及標題和顯示網格。
17樓:匿名使用者
正確來說轉置是.'
b=a.';就能把數列轉過來
而單單乙個'是共軛轉置
b=a';轉置數列的同時,虛部去相反數
不過對於實數數列來說,轉置和共軛轉置等價
18樓:匿名使用者
使用轉置函式即可,用法如下:
a=[1 2 3 4 5];
b=a'
注意引號是英文輸入狀態下的單引號,代表轉置運算.
19樓:知道
轉置符 就是英文裡的 單引號 b=a';
matlab中怎麼將乙個m*n矩陣變成乙個m*n維一列的
20樓:蒲公英花開丶
使用reshape(x ,m,n)函式,reshape把指定的矩陣改變形狀,但是元素個數不變。
matlab是美國mathworks公司出專品的商業數學軟屬
件,用於演算法開發、資料視覺化、資料分析以及數值計算的高階技術計算語言和互動式環境,主要包括matlab和simulink兩大部分。
21樓:匿名使用者
使用reshape(x ,m,n)函式
reshape把指bai定的矩du陣改變形狀,但是元zhi素個數不變,dao
例如,行向量:內
a = [1 2 3 4 5 6]
執行下面語句把它變成容3行2列:
b = reshape(a,3,2)
執行結果:
b =1 4
2 53 6若a=[1 2 3
4 5 6
7 8 9]
使用reshpe後想得到b=[1 2 3 4 5 6 7 8 9]只需要將a轉置一下就可以了:
b=reshape(a',1,9)
22樓:匿名使用者
a=[1 2 3; 4 5 6];
a(:)
你執行一下,看是不是你要的形式。
matlab中,建立乙個函式,能生成m行n列的任意數矩陣
23樓:步秀榮賓橋
不用迴圈恐怕不行,因為輸入矩陣a和分塊數x都是一般的。
下面是用到迴圈的語句:
function
mtr=
ufun(a,x)m=
size(a,1);
mtr=
cell(x,1)
fork
=1:x;
mtr=
a(k:x:m,:);end
24樓:司寇果
由於 ubuntu下已經安裝了gcc,因此在compile.m 裡 設定 compiler = 'gcc' ; blas = 'builtin'; 其他地方預設就好。
執行 compile.m ,沒有報錯,等待一段時間之後,全部編譯成功!為了方便使用該軟體包,最好使用set path把build資料夾及其子檔案全部新增到搜尋路徑中,儲存時提示錯誤!
matlab如何將完整的矩陣賦值到另矩陣的一
方法步驟如下 1 首先開啟計算機,在計算機內開啟matlab,並在matlab介面內雙擊工作區的需要更改的矩陣。2 然後在彈出的 中選中需要更改的單個矩陣元素,進行更改即可。3 也可以通過語句來實現對矩陣單個元素的賦值操作。可以通過下面的語句 a 1,2 100,就可以看到我們矩陣的該位置元素數值已...
matlab如何將矩陣中的1逐個替換為
a 2,5 1,4 1,4 3,6 3,6 2,5 假設baia是你想du將1替換為zhi0的矩陣 a a 1 0 可將矩dao陣a中的1全部專替屬換為0 matlab怎麼能隨機的替換矩陣中的數,比如乙個0 1矩陣,把矩陣中的0隨機選幾個替換為1,不是全部替換 a是0 1矩陣 l find a t ...
matlab如何將矩陣中含有字母的元素中的字母用數字代替
將bm寫成function,輸入引數為m,直接呼叫 如何在matlab中實現數字和字母的處於同乙個矩陣中呢?用符號型,或用細胞元。符號型 syms a b c a 1 a 2 b c c 細胞元 a matlab,怎麼將字元 包括數字和字母 的矩陣轉換成數字矩陣,字母a c分別對應10 11 12這...