How to compare two strings with different sizes?

13 views (last 30 days)
Hi everyone,
I would like to make a matrix by comparing 2 sequences with different dimensions, if it's same character (eg: A-A), it will be traced to 1, if not it will be traced to 0.
a = 'AAGCTACGC'
b = 'ACGCAA'
However, I have trouble to make this matrix. Honestly, I am a beginner, hope you guys will help me.
Thanks a lot.
  1 Comment
Jan
Jan on 1 Mar 2021
Edited: Jan on 2 Mar 2021
What do you want to obtain as output for these inputs?

Sign in to comment.

Accepted Answer

Matt J
Matt J on 1 Mar 2021
Edited: Matt J on 1 Mar 2021
Another guess:
a = 'AAGCTACGC';
b = 'ACGCAA';
match = ( a(:)==b )
match = 9x6 logical array
1 0 0 0 1 1 1 0 0 0 1 1 0 0 1 0 0 0 0 1 0 1 0 0 0 0 0 0 0 0 1 0 0 0 1 1 0 1 0 1 0 0 0 0 1 0 0 0 0 1 0 1 0 0

More Answers (1)

Jan
Jan on 1 Mar 2021
A bold guess:
a = 'AAGCTACGC'
b = 'ACGCAA'
Nmin = min(numel(a), numel(b));
Nmax = max(numel(a), numel(b));
match = false(1, Nmax);
match(1:Nmin) = (a(1:Nmin) == b(1:Nmin));

Categories

Find more on Characters and Strings in Help Center and File Exchange

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!