Borrar filtros
Borrar filtros

How do I get an element from a string?

9 visualizaciones (últimos 30 días)
Kratos
Kratos el 21 de Feb. de 2015
Editada: Kratos el 21 de Feb. de 2015
Say I have a vector representing a row and column which is (5,6) and I have a
vec = (5,6);
string = ['oNTitsr
reaqBtr
sggtalu
imnvomo
nresgLm
eamhomt
lfHoan
sn mnin']
When I do
a = string(vec);
I get a = 'ne'
and when I do
a = string(5,6);
a = 'L'
I am suppose to get 'L' but I keep getting 'ne' when I run my code.
vec = (5,6) is just an example it can be anything. How do I do it?
  2 comentarios
Andrew Newell
Andrew Newell el 21 de Feb. de 2015
Is that really the code you used? It should produce errors right from the start. The line
vec = (5,6);
results in
Error: Expression or statement is incorrect--possibly unbalanced (, {, or [.
The string definition you used gives
Error: String is not terminated properly.
Kratos
Kratos el 21 de Feb. de 2015
Editada: Kratos el 21 de Feb. de 2015
It was suppose to be vec = [5,6]

Iniciar sesión para comentar.

Respuesta aceptada

Andrew Newell
Andrew Newell el 21 de Feb. de 2015
Editada: Andrew Newell el 21 de Feb. de 2015
Here is some code that works:
vec = {5,6};
S = ['oNTitsr';
'reaqBtr';
'sggtalu';
'imnvomo';
'nresgLm';
'eamhomt';
' lfHoan';
'sn mnin'];
S(5,6)
S(vec{:})
Some features of this code that are needed:
  1. Each row of the char array is surrounded by quotes; semicolons makes it a column vector.
  2. They all have to have the same length - hence the space at the beginning of ' lfHoan'.
  3. A cell array is used for vec. Using {:} returns a list:
vec{:}
ans =
5
ans =
6

Más respuestas (0)

Categorías

Más información sobre Characters and Strings en Help Center y File Exchange.

Etiquetas

Community Treasure Hunt

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

Start Hunting!

Translated by