MATLAB中如何忽略函数中前几个不需要的返回值而只取需要的返回值,例如:只取函数第二个返回值,而忽略第一个返回值

1 致谢

感谢网友honglei.chen的回答,

原文链接如下:

https://www.ilovematlab.cn/thread-203269-1-1.html

2 前言

今天在学习神经网络算法~

3 问题描述

今天在用MATLAB完成 Machine Learning中的作业,遇到一个小问题,就是在使用max()函数时,我只需要获得当前矩阵所有行向量的最大值的索引,而不需要获得每个行向量的最大值的数值,于是我在想,怎么编写这句代码会比较优雅呢?因为之前好像看到过类似的代码,就是不记得是使用“...”还是“___”(三个下划线)符号了,(其实最后发现,前面那两种符号都不对,应该是“~”符号),于是去请教了度娘~

4 MATLAB中如何忽略函数中前几个不需要的返回值而只取需要的返回值

其实这个问题本质上就是这样的:我们需要忽略MATLAB函数中前几个不需要的返回值而只取需要的返回值,例如:只取函数第二个返回值,而忽略第一个返回值;

那么应该怎么实现呢?

就是使用“~”符号来对之前不需要的返回值参数进行占位,这里~波浪线符号就是占位符,

这里给出一段max函数的代码示例,

[~,p] = max(Y, [], 2);

这里的Y是一个二维矩阵,我们需要提取出二维矩阵Y中所有行向量的最大值所在的列数,即最大值的列索引,

p是一个与Y行数相同的向量,用来记录每个行向量的最大值的列索引。

 

你可能感兴趣的:(MATLAB学习,Machine,Learning,by,Andrew,Ng)