How to print symbols in matlab?

214 visualizaciones (últimos 30 días)
bluexdestination
bluexdestination el 29 de Sept. de 2013
Comentada: Stephen23 el 25 de Ag. de 2021
Hi,
I was wondering if I can print symbols in the command window that is not within the ranges of
char(0:255)
For example, the integral symbol which has the unicode of U+0283,or HTML (decimal) 643.
If I can accomplish this, I was wondering how it can implemented.
Thanks in advance!

Respuestas (4)

Walter Roberson
Walter Roberson el 29 de Sept. de 2013
Editada: Walter Roberson el 29 de Sept. de 2013
>> char(643)
ans =
ʃ
The limit is decimal 65300 if I recall correctly (not 65335 as one would expect.) Note that UTF-8 or UTF-16 encoding is not used
  2 comentarios
bluexdestination
bluexdestination el 29 de Sept. de 2013
Hi, I realized that when I try to implement the symbol in the code below:
x = strcat (char(643),'i', '1')
the output in the command prompt doesn't display the symbol, instead it displays a space. As shown below:
x =
i1
However, in the workspace the variable shows the display I want with the integral symbol. I'm using Rmatlab 2012b is that the reason why, or is something disabled such that I cannot view symbols past char(255) in the command window?
Thanks for your help in advance.
Walter Roberson
Walter Roberson el 29 de Sept. de 2013
You may need to change your font. Some people have also run into this if their system is configured to use a language other than English.

Iniciar sesión para comentar.


Steven Lord
Steven Lord el 3 de Abr. de 2019
Instead of trying to display the symbols in the Command Window, consider writing your code in the Live Editor. You can insert equations into a Live Script or Live Function either via an equation editor or via LaTeX.

Zoe Herrick
Zoe Herrick el 3 de Abr. de 2019
You can try something like this:
str = '$$ \int_{0}^{2} x^2\sin(x) dx $$';
text(1.1,0.5,str,'Interpreter','latex')

Bart McCoy
Bart McCoy el 25 de Ag. de 2021
Editada: Bart McCoy el 25 de Ag. de 2021
Generating or Printing Unicode Characters in MATLAB:
I'm working with MATLAB 2021, but this has worked for about a year now for me.
In general, Unicode values for different symbols can be found on many sites and most publish the 4-digit HEX value. Looking at this link (Unicode Table for Greek Chars), the Unicode for Greek capital Delta (Δ) is U+0394 or 0x0394 hex.
To get the MATLAB char for Δ, just convert hex to decimal and run it through char, as shown below:
% Extract the Greek char for capital DELTA, Δ [either way works]
c = char( hex2dec('0394') ) % Use '0394' as a char string
c = char( hex2dec( sprintf('%04d', 394) ) ) % Use integer 394 and generate the 4-digit string
NOTE ON SAVING UNICODE CHARS IN .M FILES:
Before 2020 or so, you could paste these chars into a MATLAB script and save the .m file, but when close & reload the .m file, your chars appear as a square. That's because MATLAB didn't save scripts in UTF-8 format, (as I understand it).
In R2021a, MATLAB now saves .m files as UTF-8 by DEFAULT. I have personally verified that I can paste Unicode chars (e.g. all lower/uppercase Greek letters) into a script, save it, close file, reload, and they all appear fine. Someone in this thread indicated that R2020a was when UTF-8 became the default and it actually worked.
Run "ver" to see your MATLAB version or do a File ==> Save As, to see if the default file format for .m files is UTF-8 (required to save unicode chars)

Categorías

Más información sobre String Parsing en Help Center y File Exchange.

Community Treasure Hunt

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

Start Hunting!

Translated by