目前我可以从alpha,beta,gamma和delta类别生成所有组合(1 1 1 1,1 1 1 2等)。
当前代码:
alpha = [1, 2, 3];
beta = [1, 2, 3, 4, 5];
gamma = [1, 2, 3, 4, 5];
delta = [1, 2, 3];
[a, b, c, d] = ndgrid (alpha, beta, gamma, delta);
combination = [a(:), b(:), c(:), d(:)];
我想过滤掉其中一些组合,即摆脱alpha为1且gamma为4等的任何组合。
我该如何处理?
答案 0 :(得分:2)
您正在寻找的是logical indexing
c1 = (combination(:,1) ~= 1); %rows where alpha is not 1
c2 = (combination(:,3) ~= 4); %rows where gamma is not 4
desired = combination(c1&c2,:); %output rows where both c1 and c2 are true
答案 1 :(得分:1)
如果您想根据该信息创建新数组,Ian Riley的答案提供了正确的方法。只要在他的回答中添加,您也可以使用相同的方法直接删除不需要的行,方法是将它们设置为空,即:
<?php
namespace App\Http\Controllers;
use App\Jobs\ImportCsv;
use Illuminate\Http\Request;
use App\Http\Controllers\Controller;
class FileController extends Controller
{
/**
* Store a new file.
*
* @param Request $request
* @return Response
*/
public function store(Request $request)
{
// Create file...
dispatch(new ImportCsv($file));
}
}