Replacing indexed row with string

2 views (last 30 days)
Cside on 28 Dec 2020
Answered: Mathieu NOE on 28 Dec 2020
Hi, I have a matrix that contains all the row numbers and I would like these row numbers to be replaced by the string 'a' in the empty vector test. For the row numbers not indexed, I would like them to be replaced with 'b'.
The code does not seem to allow replacement with a string. Do let me know how to solve this thanks!
test(find(lv1),:) = 'a'

Answers (1)

Mathieu NOE
Mathieu NOE on 28 Dec 2020
see example below
hope it helps
test = (1:30);
test(3:15) = 0; % create some zeroes in the vector
%% main code %%
test = test(:); % makes test always vertical
tol = eps;
ind1 = find(abs(test) <= tol); % zero elements
ind2 = find(abs(test) > tol); % non zero elements
test_str =num2str(test); % convert numerical to string
[m,n] = size(test_str);
for ci = 1:length(ind1) % zero elements
test_str(ind1(ci),:) = [blanks(n-1) 'a'];
for ci = 1:length(ind2) % non zero elements
test_str(ind2(ci),:) = [blanks(n-1) 'b'];

Community Treasure Hunt

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

Start Hunting!