我有一个10 X 10矩阵,A,在MatLab中创建。矩阵中的所有值都在0到100之间。假设我想:
我可以不编写脚本吗?我可以通过带有一些简单的for循环的脚本来实现这一点,但有没有可用的快捷方式?任何帮助将不胜感激!
答案 0 :(得分:4)
使用逻辑索引很容易做到所有这些事情:
使用一个或两个命令可以非常轻松地完成上述每个操作。但是,每个操作必须独立于其他两个操作。你无法在一行中完成所有3个。
1
smallIdx = A<10;
A(smallIdx) = 0;
% One Line Version
A(A<10) = 0;
2
bigIdx = A>90;
A(bigIdx)=inf;
% One Line Version
A(A>90) = inf;
3
middleIdx = A>30 & A<50;
newVector = A(middleIdx);
% One Line Version
newVector = A(A>30 & A<50);
新的向量是一个向量,不会像A一样是正方形
答案 1 :(得分:0)
设置任何3×3矩阵a。编写一些命令行语句来执行以下操作 对a的操作: (a)交换第2栏和第3栏; (b)增加第四栏(0s); (c)插入一行1作为a的新第二行(即移动当前的第二和第三行) 下); (d)删除第二列。