作业帮 > 综合 > 作业

matlab中end问题

来源:学生作业帮 编辑:作业帮 分类:综合作业 时间:2024/05/17 23:26:02
matlab中end问题

b=[9 6 8 5 3];
a=b(find(b==min(b),end);
在第二行中为什么还要用end,用和不用一样吗?我试了一下一样,不知道是不是巧合.
首先给出您使用的end的一般含义(当然end还有更多的用法):
end一般用来指定矩阵的最后一行或最后一列.例如:
a=rand(4,5);%生成一个4行5列的随机矩阵.
b=a(3,end);%b为矩阵a第三行最后一列的元素;
b=a(end,3);%b为矩阵a最后一行的第三列元素;
b=a(:,end);%b为矩阵a的最后一列元素,b为列向量;
b=a(end,:);%b为矩阵a的最后一行元素,b为行向量.
简单来说,你可以把end理解为一个特殊的数值,该数值在不同情况下是可变的.
对于您的代码来说,end用在find函数中而已.
find(X)的意义是在X中寻找某个条件的值.
find(X,k)的意义是在X的前k个数值中寻找某个条件的值.
所以find(X,end)与find(X)是完全相同的.所以您的结果就是相同的.相当于这里调用的是find(X,k)函数,只不过k这里取了end这个特殊的数值而已.