How do I enter same string input in a vector?

8 visualizaciones (últimos 30 días)
Charlotte Wargniez
Charlotte Wargniez el 26 de Jul. de 2022
Comentada: Walter Roberson el 28 de Jul. de 2022
I am trying to create a vector (not a string array) with repeated string entries such as "30 T" for a specific length.
for i = 1:879
S = Contour1(i);
Sy = S.Lon
Sx = S.Lat
UTMZ = zeros(length(Sy),1);
UTMZ(:)= ['30 T'];
GeoDeg = utm2deg(Sx',Sy',UTMZ)
plot(Sx,Sy)
i;
end
After creating a vector, I can't seem to have the entry repeat itself. I can't also manually entre the values in each vector because the length of the vector varies for each loop.
Any sugestions on how to entre a repeating string within a vector?

Respuestas (1)

Walter Roberson
Walter Roberson el 26 de Jul. de 2022
UTMZ = repmat('30 T', 1, length(Sy)).';
  4 comentarios
Charlotte Wargniez
Charlotte Wargniez el 27 de Jul. de 2022
Editada: Charlotte Wargniez el 27 de Jul. de 2022
i see. Thanks.
I was able to run the code if i created a cell array and then characterized each entry:
for i = 1:879
S = Contour1(i);
Sy = S.Lon;
Sx = S.Lat;
UTM = repmat({'17 T'}, length(Sy), 1);
UTMZ = char(UTM);
[SmokeLat, SmokeLon] = utm2deg(Sx',Sy',UTMZ);
plot(SmokeLat,SmokeLon)
i;
end
Thanks again!
Walter Roberson
Walter Roberson el 28 de Jul. de 2022
I found that function in the File Exchange. It is an odd function -- it requires that the third parameter be a 2d array of character with four columns and the letter codes have to be in the 4th column.
The particular case of a 2D array of char is the one I referred to in the line about a Battleships map. The technique you used with repmat of a cell array and char() that, is fine, but you could also be more efficient as
UTMZ = repmat('17 T', length(Sy), 1);

Iniciar sesión para comentar.

Categorías

Más información sobre Resizing and Reshaping Matrices 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