Using num2str to get brackets

1 回表示 (過去 30 日間)
Amandeep
Amandeep 2011 年 9 月 11 日
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 Center および File ExchangeInteractive Control and Callbacks についてさらに検索

タグ

Community Treasure Hunt

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

Start Hunting!

Translated by