Using num2str to get brackets

1 次查看(过去 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 中查找有关 Interactive Control and Callbacks 的更多信息

标签

Community Treasure Hunt

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

Start Hunting!

Translated by