如何比较 class 类型的两个不同变量是否相等?
How do I compare class type of two different variables for equality?
我正在尝试使用 switch case 块做一个声明,我想知道如何使用 2 个变量?
如果情况是 'double' 我应该添加变量 a 和 b 但如果:
我将如何做
a = [1 2 3 4]
b = [2 1 3 1]
?
到目前为止,我一直在考虑这样做。
a = [1 2 3 4]
b = [2 1 3 1]
c = class (a)
d = class (b)
e = c == d
switch blah
case 'double'
a + b
case 'logical'
a & b
otherwise
disp ('None')
end
等等
现在我需要一个 switch 和 case 块来创建一个场景,如果我们的 switch x 有 case 'double'(class 类型),它将添加变量 a 和 b。
任何帮助将不胜感激。谢谢
我建议您改用 if
语句并用 isequal
做一些事情,例如
>> isequal(class(a), class(b))
ans =
1
然后我们可以在 if
语句中使用它,例如
a = [1 2 3 4];
b = [2 1 3 1];
if isequal(class(a), class(b)) && isequal(class(a), 'double')
a + b
end
switch
语句适用于有多个 case
而不仅仅是 1.
的场景
但是,由于只能使用 switch
语句,您还可以使用多个 switch
语句来检查两个变量是否具有相同的 class
a = [1 2 3 4];
b = [2 1 3 1];
switch class(a)
case 'double'
switch class(b)
case 'double'
a + b
end
case 'logical'
switch class(b)
case 'logical'
a & b
end
end
我正在尝试使用 switch case 块做一个声明,我想知道如何使用 2 个变量?
如果情况是 'double' 我应该添加变量 a 和 b 但如果:
我将如何做a = [1 2 3 4]
b = [2 1 3 1]
?
到目前为止,我一直在考虑这样做。
a = [1 2 3 4]
b = [2 1 3 1]
c = class (a)
d = class (b)
e = c == d
switch blah
case 'double'
a + b
case 'logical'
a & b
otherwise
disp ('None')
end
等等
现在我需要一个 switch 和 case 块来创建一个场景,如果我们的 switch x 有 case 'double'(class 类型),它将添加变量 a 和 b。
任何帮助将不胜感激。谢谢
我建议您改用 if
语句并用 isequal
做一些事情,例如
>> isequal(class(a), class(b))
ans =
1
然后我们可以在 if
语句中使用它,例如
a = [1 2 3 4];
b = [2 1 3 1];
if isequal(class(a), class(b)) && isequal(class(a), 'double')
a + b
end
switch
语句适用于有多个 case
而不仅仅是 1.
但是,由于只能使用 switch
语句,您还可以使用多个 switch
语句来检查两个变量是否具有相同的 class
a = [1 2 3 4];
b = [2 1 3 1];
switch class(a)
case 'double'
switch class(b)
case 'double'
a + b
end
case 'logical'
switch class(b)
case 'logical'
a & b
end
end