Extend a string within a for loop by values from switch case
4 Ansichten (letzte 30 Tage)
Ältere Kommentare anzeigen
Christian
am 10 Mai 2021
Bearbeitet: Dyuman Joshi
am 10 Mai 2021
This switch case works in c. With each pass, the loop finds a letter and assigns it to a binary sequence. The nice thing is, each new binary sequence is simply added (by: +=) to an existing string. Does this also work in matlab?
for (int i = 0; i < sizeInput; i++) {
switch (inputText[i]) {
case ' ':
outputText+= "00000";
break;
case 'A':
outputText+= "00001";
break;
case 'B':
outputText+= "00010";
break;
}
}
For example the inputText is: AB BA, the result should look like: 0000100010000000001000001
I hope you can help me with this.
0 Kommentare
Akzeptierte Antwort
Dyuman Joshi
am 10 Mai 2021
Bearbeitet: Dyuman Joshi
am 10 Mai 2021
No, MATLAB doesn't support Augmented addition, (using +=)
However, you can obtain the same result with a variable, x=x+1; and use dec2bin(x).
If you add strings together in MATLAB, it will give a double (default MATLAB numeric format) output corresponding to the ASCII codes.
Weitere Antworten (1)
Stephen23
am 10 Mai 2021
Bearbeitet: Stephen23
am 10 Mai 2021
Forget about C.
The MATLAB approach is to work with vectors and matrices (which is where the name MATLAB comes from):
inp = 'AB BA';
vec = ' AB';
rpl = ["00000","00001","00010"];
[X,Y] = ismember(inp,vec);
out = join(rpl(Y(X)),'') % string scalar
out = [rpl{Y(X)}] % char vector
0 Kommentare
Siehe auch
Kategorien
Mehr zu Characters and Strings finden Sie in Help Center und File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!