Using num2str to get brackets

4 次查看(过去 30 天)
Hi,
from
A = [ 54,0.04; 60,0.03; 65,0.02; 67,0.01];
I want to get:
B = [(54,0.04);(60,0.03);(65,0.02),(67,0.01)];
Which I will use to display in a plot. The problem is I can get the comma in the middle using num2str but not the brackets on either side.
I have tried:
for j = 1:size(A,1)
B(j) = ['[',num2str(A(:,1),'%5.3g),']'];
end
But I get a dimension error. Not sure what to try next.
Any help will be great. Thanks

采纳的回答

Oleg Komarov
Oleg Komarov 2011-9-11
Another alternative using sprintf and mat2cell:
mat2cell(sprintf('(%2d,%3.2f)',A.'),1, repmat(9,1,numel(A)/2)).'
  1 个评论
Andrei Bobrov
Andrei Bobrov 2011-9-11
hi Oleg! more variant
reshape(sprintf('(%2d,%3.2f)',A.'),[],size(A,1))'

请先登录,再进行评论。

更多回答(1 个)

Amandeep
Amandeep 2011-9-11
I think I just figured it out, by usingthe code beolw in the plot:-
text(A(j,1),A(j,2),['(' num2str(A(j,1)),',' num2str(A(j,2)) ')']

类别

Help CenterFile Exchange 中查找有关 Line Plots 的更多信息

标签

Community Treasure Hunt

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

Start Hunting!

Translated by