2013-02-05 162 views
0

我不知道如何使用isempty功能 例如:如何在matlab中使用isempty函數或其他函數?

從模擬,第一基質

[18 1 0 0 0;12 0 0 0 1;15 1 1 0 0] 

,並從模擬第二矩陣是

[25 0 0 0 0;30 1 1 0 0;14 0 0 1 0] 

和第三來自仿真的矩陣是

​​

我用了以下功能:

[email protected](x)find(ismember(x(:,2:end),[1 0 0 0],'rows')) 

a=the first matrix(idxfun(the first matrix),:) 

答案如下:18 1 0 0 0第二矩陣答案是:empty matrix:0-by-5然後模擬停止!我想要的是使模擬繼續進入下一個矩陣,在這個例子中,答案將是50 1 0 0 0

+0

你是什麼意思的模擬?你如何運行模擬以及它如何停止? – Navan

+0

你嘗試在命令行中輸入help isempty嗎? – Dan

回答

1

只是通過isempty函數發送結果:

temp = [25 0 0 0 0;30 1 1 0 0;14 0 0 1 0]; 
h = idxfun(temp); 
if (isempty(h)) 
    disp('Pattern not found'); 
else 
    disp('Pattern found'); 
end 

temp = [12 0 0 1 0;50 1 0 0 0;24 1 1 1 0]; 
h = idxfun(temp); 
if (isempty(h)) 
    disp('Pattern not found'); 
else 
    disp('Pattern found'); 
end 
-1

您可以使用trycatch

try 
    a = result(idxfun(result), :); 
catch em 
    a = []; 
    fprintf(1, 'no match found\n'); 
end 
相關問題