早教吧作业答案频道 -->其他-->
请问在matlab2013版中,怎么实现空集‘[]’在ismember函数中顺利应用例如:A=[1];B=[];[C,D]=Isimember(A,B,'rows');该函数可在matlab2009版中顺利实现,但是在2013版则不行,
题目详情
请问 在matlab2013版中,怎么实现空集‘[]’在ismember函数中顺利应用
例如:A = [1]; B=[] ; [C ,D ] = Isimember(A,B,'rows'); 该函数可在matlab2009版中顺利实现,但是在2013版则不行,
例如:A = [1]; B=[] ; [C ,D ] = Isimember(A,B,'rows'); 该函数可在matlab2009版中顺利实现,但是在2013版则不行,
▼优质解答
答案和解析
改变一下编程结构就行了
方法一:先判断B是否为空如果为空,则直接给C和D都赋值为空,
若不为空则使用ismember函数.
方法二:使用try...catch...语句.如果函数运行出错则直接给C和D都赋值为空
clear
clc
A = [1];
B=[];
%方法一
if(isempty(B))
C = [];
D = [];
else
[C,D] = ismember(A,B,'rows');
end
%方法二
try
[C,D] = ismember(A,B,'rows');
catch
C = [];
D = [];
end
不必要求A和B的列相同,不过函数的第三个参数需要改变,如下例:
clear
clc
A = [1,2;5,7];
B=[2,3,4,5,7];
%方法一
if(isempty(B))
C = [];
D = [];
else
[C,D] = ismember(A,B,'legacy')
end
结果
C =
0 1
1 1
D =
0 1
4 5
方法一:先判断B是否为空如果为空,则直接给C和D都赋值为空,
若不为空则使用ismember函数.
方法二:使用try...catch...语句.如果函数运行出错则直接给C和D都赋值为空
clear
clc
A = [1];
B=[];
%方法一
if(isempty(B))
C = [];
D = [];
else
[C,D] = ismember(A,B,'rows');
end
%方法二
try
[C,D] = ismember(A,B,'rows');
catch
C = [];
D = [];
end
不必要求A和B的列相同,不过函数的第三个参数需要改变,如下例:
clear
clc
A = [1,2;5,7];
B=[2,3,4,5,7];
%方法一
if(isempty(B))
C = [];
D = [];
else
[C,D] = ismember(A,B,'legacy')
end
结果
C =
0 1
1 1
D =
0 1
4 5
看了 请问在matlab2013版...的网友还看了以下:
1,2,3,排成六个数字有多少种组合并按大小顺序排列:如:111111,又如112233,又如11 2020-05-13 …
如图,一辆汽车的位置在第2列第2行表示(2,2),2小时后,汽车的位置在(12,2).(1)在图中 2020-06-14 …
仿写.在,在那,在那,在那,在故乡的土地上,我印下我无数的脚印.在那田垄里埋葬过我的欢笑,在那稻颗 2020-06-17 …
f(x)=1+x+cosx在[-3π/2,π/2]上是:A.单增函数B.单减函数c.在[-3π/2 2020-06-27 …
1.在2只杯子中分别注入等量的自来水(约1/4体积),在其中一只杯子中家人2勺食盐和一些碎冰块,另 2020-07-08 …
设函数f(x)在-2,2上二阶可导,且f(x)的绝对值小于等于1,又f(0)^2+f'(0)^2= 2020-07-09 …
高中数学竞题三角形ABC其中AB分别在(-2,0)(2,0)上,已知sin(b/2+a/2)=1/ 2020-07-12 …
已知f(x)是周期为1的周期函数,在[0,1)上,f(x)=x^2,求f(x)在[0,2]上的表达 2020-07-23 …
设函数f(x)在-2,2上二阶可导,且f(x)的绝对值小于等于1,又f(x)^2+f'(x)^2= 2020-08-02 …
根据Mg(OH)2的溶度积(Kθsp(Mg(OH)2)=2.7×10-11)计算:(1)Mg(OH) 2020-11-01 …