1樓:匿名使用者
舉個例子
a=[3 2;3 5;7 1];
b=[1 4 3 3;1 1 2 2];
e=a(b)
結果e =
3 2 7 7
3 3 3 3
分析:對a中資料,按照列進行編號1--6,b中元素表示取a中對版應編號的
權資料。
matlab中,a為一個矩陣,a(a)是什麼意思
2樓:匿名使用者
%% 將 a 矩陣的內容作為索引值,重排 a 中所有索引值的位置;
%% 條件:a 矩陣內容均為索引值,及必須是 >0 並且 <= length(a(:)) (矩陣的最大元素索引)的正整數或者邏輯值。不然會提示出錯(索引超範圍)
% 如:
a = magic(3)
a =8 1 6
3 5 7
4 9 2
b = a(a) % b(1,1) = a(8) -> 7b =7 8 9
4 5 6
1 2 3
a = b;
b = a(a)
b =9 6 3
8 5 2
7 4 1
matlab中abs(a)其中a是一個矩陣,得到什麼結果啊
3樓:匿名使用者
matlab的很多函式都可以對整個矩陣操作, 絕對值函式abs也不例外
返回結果是一個矩陣
該矩陣的每個元素是a相應元素的絕對值
4樓:真
a中各個元素的絕對值
matlab中a為一矩陣,a1=a(1:3,:)是什麼意思
5樓:王科律師
在matlab中,a(:, 1:3)=表示將來陣列a的第1到第源3列刪
除。第一個冒號( : )表示取陣列a的所有行;
1:3表示取陣列a的第1到第3列。
具體的含義可以參考如下例項:
a=[1, 2, 3, 4, 5;
2, 3, 4, 5, 6;
3, 4, 5, 6, 7]; % 陣列a的大小為3*5a(:, 1:3)=; % 執行完該語句後,陣列a為:
a=[4, 5;
5, 6;
6, 7]; % 此時陣列a的大小為3*2
matlab中矩陣a是什麼意思
6樓:匿名使用者
matlab預設的矩陣轉置是共軛轉置,是對複數進行操作的。
求共軛轉置矩陣的指令
matlab中,如果a是一個矩陣,那麼a(x,y,z)是什麼意思?
7樓:匿名使用者
這個得看你具體的程式應用吧,打個比方說吧,在matlab中我們存有一副**,格式設回
為rgb的,名字就叫a,那答
麼r分量我們就可簡單表示為r=a(::1),同理g=a(::2),b=a(::
3),也就是說,a(x:y:z)中z代表的是維數,x和y代表的是**畫素,x和y就類似一個平面座標,如果括號只有冒號則代表平面所有的座標,如果有具體值則代表0-x和0-y所組成的平面座標,z則代表了不同的平面!
所以a(x:y:z)不是一個數,是一維平面陣列!
8樓:
裡面的逗號還是冒號 意思不一樣的a(x:y:z)代表a的第x到z裡面的y間隔元素
a(x,y,z)表示x行y列,z處的元素 所以這個用在三維裡面
9樓:
你這裡a是一個三維矩陣
a(x,y,z)表示三維矩陣中的一個元素
如a(1,1,1) a(1,2,3) 等等都是對應位置上的元素
10樓:匿名使用者
建立一個矩陣a,它有三列,第一列是x的共軛轉置(如果x是實的,那麼就是轉置),第二列是y的共軛轉置,第三列全是1。然後求這樣的a,使得a*a=z'(z的共軛轉置)。
matlab中a(:,1)'是什麼意思
11樓:匿名使用者
matlab中a(:,1)'表示將二維矩陣a的第一列轉置為行向量。詳細說明如下:
a(x,y)表示二維矩陣第x行第y列位置的元素,x為:則表示所有的行。因此,a(:,1)就表示a的第1列的所有元素,這是一個列向量。
矩陣a右上角加一短撇(')即a'表示a的轉置矩陣——交換a的行列位置(當a為複數矩陣,是共軛轉置),因此a(:,1)'表示將矩陣a的第一列轉置,最終就得到了一個行向量。
下圖是以上文字說明的matlab**演示結果:
12樓:匿名使用者
如圖為例項,即是指矩陣a第一列的轉置矩陣。其中符號:表示列所有元素,1表示第一列,『表示轉置。
如果a(:,2)'則為第二列,a([1 2],1)'則為第一列第一二行的轉置。希望可以幫到你。
13樓:淚之夢幻
f(:,1)就是取f 矩陣的第1列。
f=[1,2,3; 3,4,6; 7,8,9]
f(:,1)
matlab中冒號的用法總結:
1)a:b 表示[a,a+1,......,b]
>> a=1:5
a =1 2 3 4
2)當然如果b-a不是整數的話,則向量的最後一位數是n+a,且n=fix(b-a)
>> a=1.2:4.9
a =1.2000 2.2000 3.2000 4.2000
3)上面的前提是ab則會出現空值
>> a=5:1
a =empty matrix: 1-by-0
此時 a是空矩陣,看workspace也可以看到a
4)a:c:b表示[a,a+c,......,a+n*c],其中n=fix((b-a)/c)
>> a=1:3:11
a =1 4 7 10
5)a:c:b在以下情況為空值
c>0,且ab
>> a=11:3:1
a =empty matrix: 1-by-0
6)a(:)表示以一列的方式顯示a中所有元素
>> a=[1 2 3;4 5 6]
a =1 2 3
4 5 6
>> a(:)
ans =14
253 6
7)b=a(i, :)表示把矩陣a的第i行存入b
>> b=a(1,:)
b =1 2 3
8)b=a( :,j)表示把矩陣a的第j列存入b
>> b=a(:,1)
b =1
49)b=a(j :k)表示把矩陣a中[a(j),a(j+1),...,a(k)]這些元素存入b中
>> b=a(3:5)
b =2 5 3
10)b=a(:,c:d)表示把矩陣a的第c到第d列存入b中,當然c,d大於a的列數則出錯(b=a(c:d,:)表示取行)
>> a=[1 2 3;4 5 6;7 8 9]
a =1 2 3
4 5 6
7 8 9
>> b=a(:,2:3)
b =2 3
5 6
8 9
14樓:hero會計
(1, :)表示:矩陣的第一行。
(2, :)表示:矩陣的第二行。
依次類推:
(x, :)表示:矩陣的第x行。
而(:,y)表示:矩陣的第y列。
15樓:天雲一號
在matlab中,a(:, 1:3)=表示將陣列a的第1到第3列刪除。
第一個冒號( : )表示取陣列a的所有行;
1:3表示取陣列a的第1到第3列。
具體的含義可以參考如下例項:
a=[1, 2, 3, 4, 5;
2, 3, 4, 5, 6;
3, 4, 5, 6, 7]; % 陣列a的大小為3*5a(:, 1:3)=; % 執行完該語句後,陣列a為:
a=[4, 5;
5, 6;
6, 7]; % 此時陣列a的大小為3*2
16樓:巨匯指導
在matlab中,a(a==inf)=0表示將陣列a中所有等於inf的元素都賦值為0。 a==inf表示取出陣列a中等於無窮大(inf)的元素的位置。 舉例說明如下:
a = [1, 2, inf, 4, 3; 2, inf, 2, inf, inf; inf, 2, 0, 3, inf]; a(a==inf)=0; % 執行完該語句後
17樓:匿名使用者
x(:,1)=a*y(:,1) %%% 矩陣a乘以y的第一列,所得的值賦給x的第一列
例如:>> a= [1 2;3 4];
>> y = [2 1;1 3];
>> x = zeros(2,2);
>> x(:,1) = a*y(:,1)
x =4 0
10 0
18樓:匿名使用者
代表把a矩陣的第一列進行轉置
1代表矩陣的第一列,冒號為省略行號
19樓:pl帶我離開
p1表示取m資料矩陣中的1至5列,t1表示取6、7列。。
括號中逗號前面表示所取的行,後面表示所取的列。
:表示取所有的,這裡即表示取1至5列的所有的行和6、7列的所有的行。
如果「:」在逗號後面即表示取所有的列。
20樓:不友邦
1、是指陣列中的1至5列
2、第一個冒號,指的是該陣列中的全部行數
3、第二個冒號,前後連線1和5,指的是1-5列
21樓:匿名使用者
a是一個三維陣列。個人理解a(:,:,1)是指取這個三維陣列的第一個元素(專業點稱為『頁』),這個元素是一個二維矩陣。
為了更好地理解高維陣列,我們假設a的每個元素都為3*4的矩陣,那麼你可以用a(1,2,:)取得每個(二維陣列)中的第1行第2列的數值。同理,a(2,:
,1)這個應該知道是什麼意思了吧,呵呵,說對了,就是取a的第一個元素(3*4的二維矩陣)裡的整個第二行。依此類推。。。。
高維陣列的形象思維比較困難,不好理解,用的時候儘量避免,不過一般用到三維四維也夠用了吧。
你可以在matlab裡面建立一個高維陣列,自己輸入諸如此類的命令,理解會更深刻!希望有所幫助!
22樓:匿名使用者
冒號指該維的全部
如矩陣a=[1 2 3 4
5 6 7 8]
那麼a(:,2),行座標為冒號,則表示所有行,2是列座標,則a(:,2)代表第二列的所有行,也就是列向量:[2 6]'
所以matlab t=(:,:,1)代表第一維、第二維的所有資料,第三維的第一個
t是個三維矩陣
1:3代表該維的第一個數到第三個數
還是之前的矩陣
a(:,1:3)
第一維是全部資料,第二維是第1個數到第三個數,也就是第一列到第三列的所有行
[1 2 3
5 6 7]
23樓:匿名使用者
把a中b為1的那些行提取出來
比如,如果b=logical([1;0;1])
那麼a(b,:)就是提取a的第1、3行。
24樓:匿名使用者
對於一個矩陣a來說,a(i:j)表示取出a中第i個到第j個元素。
矩陣表示元素有兩個方法:雙下標和單下標,前者即第幾行第幾列
後者按列序計算,第2列第1行轉化為單下標就是列元素個數+1
25樓:匿名使用者
問題一:1:h(1)表示1,2,3,4......h(1)。其中h(1)應該是個整數,就是取1到h(1)的所有整數。
問題二:這個的優先順序不是你想的那樣的。而應該是(50+1):h(1)也就是說從51到h(1)。
問題三:映象操作只有c是,不僅是左右映象,而且是上下映象。
執行下邊的**:
c(1:h(1),1:h(2),1:h(3))=j(h(1):-1:1,h(2):-1:1,1:h(3));%映象
subplot(122);imshow(uint8(c));
你可以看看效果:
MATLAB中怎麼在已知的矩陣中多加一行,並使這行的值為零
a rand 5,5 a 0.2760 0.4984 0.7513 0.9593 0.8407 0.6797 0.9597 0.2551 0.5472 0.2543 0.6551 0.3404 0.5060 0.1386 0.8143 0.1626 0.5853 0.6991 0.1493 0.24...
matlab矩陣求平均值,在matlab中 怎麼計算平均值
用mean a,1 或者mean a,2 函式求矩陣a均值,再用cumsum函式可以累加。具體 如下 a rand 3 a mean a,1 按列平均 b mean a,2 按行平均 c mean a 全部平均 a 0.8134 0.8940 0.28760.7185 0.9507 0.9264 0...
Matlab中不同維數矩陣相加問題
這樣 a 1,2,3 4,5,6 7,8,9 b 1,2 3,4 a 1 2 3 4 5 6 7 8 9 b 1 2 3 4 ra,ca size a rb,cb size b c zeros max ra,rb max ca,cb c 1 ra,1 ca a c 1 rb,1 cb c 1 rb,...