在 Matlab 中使用字母字符串的 if 语句

特克斯

我在 Matlab 中有以下包含各种字母组合的单元格 a,b,c,d

%all combinations containing 'a' and/or 'b'
G1={'a', 'ab', 'ac', 'ad', 'abc', 'acd', 'abd', 'abcd', 'b', 'bc', 'bd', 'bcd'};  

%all combinations containing 'c' and/or 'd'
G2={'c', 'ac', 'bc', 'cd', 'abc', 'acd', 'bcd', 'abcd', 'd', 'ad', 'bd', 'abd'};

%all combinations containing 'c'
G3={'c', 'ac', 'bc', 'cd', 'acd', 'abd', 'bcd', 'abcd'}; 

然后我构建了一个all维度的单元格

allsize=size(G1,2)*size(G2,2)*size(G3,2);

包含将 的一个元素G1与 的一个元素G2与 的一个元素匹配的所有可能方式G3

all=cell(allsize,3);
 count=0;

 for h=1:size(G1,2)
     for k=1:size(G2,2);
         for j=1:size(G3,2);
             count=count+1;
             all(count,1)=G1(h);
             all(count,2)=G2(k);
             all(count,3)=G3(j);

         end
     end
 end

问题:我想构造一个check维度向量allsize x 1check(l)=1如果[all(l,1)包含a all(l,2)包含c][all(l,1)包含b all(l,2)包含d],否则为零。

我在编写if 条件时遇到问题

check=zeros(allsize,1);

 for l=1:allsize
     %if [all(l,1) contains a and  all(l,2) contains c] or [all(l,1) contains b and  all(l,2) contains d]
     check(l)=1;
     %end
 end

你能提供一些帮助吗?

贾斯汀

(对于 if 语句,总是最好显示您尝试过的内容而不是一些伪代码,但是...)

首先all用作变量名是不好的——它是一个重要的内置函数,你可能想要使用它......我在allG下面重命名了它但你可能想要这样的东西:

check(l) = (any(allG{l,1}=='a') && any(allG{l,2}=='c')) || ...
           (any(allG{l,1}=='b') && any(allG{l,2}=='d'))

注意我没有使用if语句,因为右手边的计算结果是一个逻辑值(一个真/假值),它通常可以像 1 和 0 一样使用......

同样在上面,我们将字符串视为字符数组,因此类似于'abcd'=='b'返回一个[0 1 0 0]逻辑数组……然后我们使用它any()来查看是否有任何值是 1(真)。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

Matlab:使用字符串作为if语句的条件

在Switch语句中使用字符串

使用map <string,int>在switch-case语句中使用字符串

Python Neo4j 在 Cypher 语句中使用字符串变量

如何在带有 int 的 if 语句中使用字符串?

将参数解析为bool或仅在switch语句中使用字符串

通过从用户获取输入,在switch语句中使用字符串

在println语句中使用字符串和变量

Python - 在 If 语句中使用字符串作为条件运算符

在if语句中使用字符串作为变量子句

我们如何在声明语句中使用字符串变量?

如何在switch语句中使用字符串资源

如何在SQL WHERE IN语句中的R中使用字符串

在if语句中使用字符串和逻辑运算符

在if语句中使用字符串内容作为条件

jdk 8不允许在switch语句中使用字符串?为什么

在 MATLAB 的 for 循环中使用 if 语句

如何在Matlab中使用'if'语句?

在Matlab中使用字符串命名数组元素的索引

如何在Matlab中使用字符串数组创建具有字段的结构?

在Matlab中使用字符串元素跟踪单元格数组中的更改

使用字符串和 if 语句的 while 循环

使用字符串变量的内容作为if语句的条件?

如何使用字符串进行if语句?在 C++

Matlab:如何使用字符串调用对象属性?

在if和else语句之外使用字符串设置字符串值

错误TS2494:仅在ECMAScript 5和更高版本中支持在'for ... of'语句中使用字符串

如何在MATLAB R2016b(Mac版本)中使用字符串处理CSV文件

在Matlab中的if-else语句中编写字符串变量