作业帮 > 综合 > 作业

A(B(:,end)==0) = 1;这个在matlab里面是什么意思?

来源:学生作业帮 编辑:拍题作业网作业帮 分类:综合作业 时间:2024/04/28 15:32:56
A(B(:,end)==0) = 1;这个在matlab里面是什么意思?
求教
B(:,end)表示矩阵B的最后一列,所以这句命令的意思就是把向量A中与B矩阵最后一列元素等于零的相同位置元素置为1
再问: A =0 0 1 1 0 0 1 1 0 0 1 1 s =0 0 0 0 0 0 0 0 0 0 0 0 s((A(:,2:end-1)==0))=1 s =1 0 0 0 1 0 0 0 1 0 0 0 matlab上怎么会是这个结果?没懂啊 难道不应该是 s =0 1 0 0 0 1 0 0 0 1 0 0
再问: A =0 0 1 1 0 0 1 1 0 0 1 1 s =0 0 0 0 0 0 0 0 0 0 0 0 s((A(:,2:end-1)==0))=1 s =1 0 0 0 1 0 0 0 1 0 0 0 matlab上怎么会是这个结果?没懂啊 难道不应该是 s =0 1 0 0 0 1 0 0 0 1 0 0
再答: 这个问题需要你对matlab的矩阵存储和索引方式有一定的了解,希望你能看懂。 你执行A(:,2:end-1)==0 输出的结果应该是下面这样: 1 0 1 0 1 0 第一列为1,第二列为0,所以s((A(:,2:end-1)==0))=1只会将s矩阵的第一列置为1。 使用这些简化的代码时一定要小心这些索引的起始位置。