Replacing indexed row with string

1 次查看(过去 30 天)
Cside
Cside 2020-12-28
回答: Mathieu NOE 2020-12-28
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'

回答(1 个)

Mathieu NOE
Mathieu NOE 2020-12-28
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

类别

Help CenterFile Exchange 中查找有关 Characters and Strings 的更多信息

Community Treasure Hunt

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

Start Hunting!

Translated by