matlab数组冒号,matlab中冒号的⽤法
对于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语句解析
提问者:悬赏分: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为数组
matlab数组赋值举个例⼦:
A=[1 2 3];
B=2.^A
ans
2 4 8
不加“。”运算不成⽴
matlab以矩阵作为基本计算单位,因此⽤普通运算符号(+、-、*、/、^)连接两个量时要注意矩阵的运算规则。如2^x,表⽰两个矩阵作乘⽅运算就要求⼀个为标量,⼀个为⽅阵。⽽普通运算号前加了“.”就表⽰两个矩阵对应的元素间进⾏普通运算,⽽不考虑矩阵的运算规则,当然两个矩阵的尺⼨要⼀致,如果其中⼀个为标量似乎就不存在这个问题
“.^”这个叫做点乘。是分别乘以矩阵⾥⾯元素的意思。这样得出的结果也是⼀个矩阵

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。