フィルターのクリア

How to display pi symbol in the output?

99 ビュー (過去 30 日間)
GULZAR
GULZAR 2023 年 8 月 24 日
コメント済み: Hiro Yoshino 2023 年 8 月 24 日
how to display pi symbol instead of numerical value in the out of the given code
clc; clear all; close all;
nA=3.3;nB=2.25;
% nB=3.3;nA=2.25;
S=sign(1-(nA^2/nB^2));
x=-1i*log(S);
if x>0
disp('Zak Phase of 0th band = ')
disp(pi)
else
disp('Zak Phase of 0th band = ')
disp('0')
end
Zak Phase of 0th band =
3.1416
  1 件のコメント
Fangjun Jiang
Fangjun Jiang 2023 年 8 月 24 日
sprintf('\x3c0')
ans = 'π'
double('π')
ans = 960

サインインしてコメントする。

採用された回答

Dyuman Joshi
Dyuman Joshi 2023 年 8 月 24 日
You can either use the symbolic math toolbox or print the symbol via the unicode value -
nA=3.3;nB=2.25;
% nB=3.3;nA=2.25;
S=sign(1-(nA^2/nB^2));
x=-1i*log(S);
if x>0
disp('Zak Phase of 0th band = ')
%pi as a symbolic number
disp(sym(pi))
%print the symbol via unicode value
fprintf('%c', 960)
else
disp('Zak Phase of 0th band = ')
disp('0')
end
Zak Phase of 0th band =
π
π

その他の回答 (2 件)

Nathan Hardenberg
Nathan Hardenberg 2023 年 8 月 24 日
編集済み: Nathan Hardenberg 2023 年 8 月 24 日
You can display pi as a sybolic
disp(sym(pi))
π
Or you can use a π-character (𝜋 or π).
disp("𝜋")
𝜋
disp("π")
π

Hiro Yoshino
Hiro Yoshino 2023 年 8 月 24 日
How about this?
S = sprintf('Zak Phase of 0th band = %c',960);
disp(S);
Zak Phase of 0th band = π
  1 件のコメント
Hiro Yoshino
Hiro Yoshino 2023 年 8 月 24 日
Please refer to the list of Unicode for your help:List of Unicode characters

サインインしてコメントする。

カテゴリ

Help Center および File Exchange で Symbolic Math Toolbox についてさらに検索

製品


リリース

R2022a

Community Treasure Hunt

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

Start Hunting!

Translated by