matlab中冒號的用發

2021-06-17 18:43:14 字數 4145 閱讀 2869

對於

a(四行五列)矩陣

,a(2:3,1:2:5)

是什麼意思

?

問題補充:能解釋下為什麼是一,三

,五列滿意回答

顯示a的第二行與第三行的第

一、三、五列。因為矩陣後面如果是圓括號,那麼都表示引用,即矩陣元素的位置

,下面是例子

a =1     2     3     4     5

4     5     6     7     8

0     1     4     7     8

0     2     5     8     7

disp(a(2:3,1:2:5)) 

%3個數字夾著

2個冒號的意思:從

num1

到num3 

步長num2

4     6     8

0     4     8 

補充問題:能解釋下為什麼是一,三

,五列matlab

定義矩陣的一種方法是

a=s:d:f,s

表示起始值,

d表示增量,

f表示終點值,1:

2:5即為

1,1+2=3,

3+2=

5,不難理解吧,是

matlab

定義矩陣最常用的方法

請問

matlab

中a(k,:) 

中的冒號什麼意思

?

a(k,:)冒號是取出第

k行的資料,比如

a =1     2

3     4

5     6

>> a(1,:)

ans =

1     2

>>

請高手指教:matlab中 迴圈語句中x(8,:,i)裡的冒號是什麼意思??

答:

冒號在matlab

裡基本上兩種意思:

1)對於矩陣,冒號表示該維度上的所有元素。

a=

1 2 3

4 5 6

7 8 9

a(1,:)表示a

的第一行,所有列。

a(1,:)=[ 1 2 3 ]

(2)

在迴圈語句中,冒號表示

「從什麼開始,間隔多少,到什麼

for i=0 : 2 :10

表示的是i從

0開始,每次增長

2,一直到

10,所以迴圈的第一次

i=0,第二次迴圈

i=2,...第6

次i為10

,迴圈結束。相當於

c語言中的

for (i=0;i<=10;i=i+2)

追問

「間隔量

」的位置上。。。。是代表什麼意思呢??

i 是之前已經定好的迴圈步數。

x也是定義好的

0矩陣,

x=zeros(17

,1,samples)

for i=2:1:samples

....

v=v(i)+(x(8,:,i)*v(i));

難道說是代表任何步長??

回答

不是的。這裡的冒號是我說的第乙個意思。

現在你的

x是乙個三維矩陣,你可以理解為

x是乙個長方體,長寬高分別是17,

1,sample

,然後每個

1*1*1

的小立方體裡面,存放著矩陣的乙個元素。見圖。 那

x(8,

:,i)

就是取出這個長方體的長裡面的第

8小格,寬裡面的所有小格,高裡面的第

i小格所對應的那些元素。而由於你的寬裡面總共就只有

1。所以此處不是

「那些元素」而是

「那個元素

」,只有1個!

可想而知,如果寬的總數不是

1,那麼取出的將是這個長方體的乙個細長條,往裡延伸的,想象一下.

************************************

冒號的兩種用法其實很好區分,寫在

for裡面,就是第二種意義,表現為

「用冒號隔開數字」。

寫在矩陣的括號裡面,就是第一種意義,表現為

「把冒號當數字使用,用逗號隔開數字(或冒號)」。

i=uint8(zeros(x,y,3));matlab

語句解析

提問者:

freeciny

| 懸賞分:

10 | 

瀏覽次數:

1271次

[x,y]=size(temp);

i=uint8(zeros(x,y,3));

i(:,:,1)=uint8(temp);

i(:,:,2)=uint8(temp);

i(:,:,3)=uint8(temp);

滿意回答

這句看起來像是讀影象的

rgb值。

[x,y]=size(temp); 

讀temp

的大小(行數和列數)

i=uint8(zeros(x,y,3)); 

構造乙個三維矩陣

i(:,:,1)=uint8(temp);uint8

將型別轉換為無符號

8位數,即

256位。與

256色值一致。

i(:,:,2)=uint8(temp);

i(:,:,3)=uint8(temp); 

樓上的,人家那三行是賦值操作。你初始化成

0不賦值也沒用啊。

matlab

中的語句

2.^x

中的點是什麼作用?

答:

x.^2

點乘表示

x中的各個元素平方

x^2表示x

向量乘x向量,

是個矩陣

2.^x

和2^x

答案應該是一樣的

標明:

x為陣列

舉個例子:

a=[1 2 3];

b=2.^a

ans

2 4 8

不加「。」運算不成立

matlab

以矩陣作為基本計算單位,因此用

普通運算符號(+、

-、*、

/、^)

連線兩個量時要注意矩陣的運算規則。如

2^x,

表示兩個矩陣作乘方運算就要求乙個為標量,乙個為方陣。而普通運算號前加了「

.」就表示兩個矩陣對應的元素間進行普通運算,而不考慮矩陣的運算規則

,當然兩個矩陣的尺寸要一致,如果其中乙個為標量似乎就不存在這個問題

.^」這個叫做點乘

。是分別乘以矩陣裡面元素的意思。這樣得出的結果也是乙個矩陣

Matlab中的冒號

2020 05 02 19 53 02 在進行陣列操作時,冒號若使用得當,能得到簡化操作的作用,大致總結冒號在矩陣操作中的主要作用和使用方法 語句作用 a j a的第j列 a i,a的第i行 a a本身a a的單列 a i j a單列中第i 第j個元素 a i j a的第i j列 a i j,a的第...

Matlab中冒號的使用

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...

matlab中冒號的用法

matlab中冒號的用法 對於a 四行五列 矩陣,a 2 3,1 2 5 是什麼意思?問題補充 能解釋下為什麼是一,三,五列 滿意回答 顯示a的第二行與第三行的第 一 三 五列。因為矩陣後面如果是圓括號,那麼都表示引用,即矩陣元素的位置,下面是例子 a 1 2 3 4 5 4 5 6 7 8 0 1...