Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/batch-file/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
matlab从二维阵列中选择元素_Matlab - Fatal编程技术网

matlab从二维阵列中选择元素

matlab从二维阵列中选择元素,matlab,Matlab,我有一个601x1600 matlab阵列时间X试验。我想通过丢弃超过标准值100的试验来创建一个单独的数组。即,生成的阵列大小应为601 x n。有人能帮我吗 谢谢, 彼得这里有两种选择。一个是如所指出的那样使用find 我在这里建议的另一个是基于哪个更快 m_transposed = m'; % m is your 601*1600 matrix mask = m_transposed<=100; % a logical matrix m = m_transposed(mask);

我有一个601x1600 matlab阵列时间X试验。我想通过丢弃超过标准值100的试验来创建一个单独的数组。即,生成的阵列大小应为601 x n。有人能帮我吗

谢谢,
彼得

这里有两种选择。一个是如所指出的那样使用find

我在这里建议的另一个是基于哪个更快

m_transposed = m'; % m is your 601*1600 matrix
mask = m_transposed<=100; % a logical matrix 
m = m_transposed(mask); % this creates a vector, the values of which are <= 100
m = reshape(m, [], 601)'; % reshape the vector into a 601*n matrix.
使现代化 不知道为什么我的答案被否决了。也许我没有提到查找方法?替换


mask=m_transposed100

您查看了find周围的文档了吗?这里更好的参考:您确定在丢弃大于100的值后,所有行仍然可以有n列吗?n将等于或小于1600不要太担心一次向下投票。有些人对他们认为“不好”的问题的答案投了反对票。这就是说,我认为OP想要放弃矩阵试验中的所有列。不过,一列超过100意味着什么,大家都在猜测。OP在两天前发布问题后就再也没有回来过。
m_transposed = m';
m = reshape(m_transposed(m_transposed<=100), [], 601)';
mask = m>100;
m(mask) = nan; % replace values > 100 with nans.
m(:,sum(mask)==size(m,1)) = []; % delete columns whose values are all nans.