Replacing indexed row with string

1 view (last 30 days)
Cside
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
hello
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'];
end
for ci = 1:length(ind2) % non zero elements
test_str(ind2(ci),:) = [blanks(n-1) 'b'];
end

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!