How do I enter same string input in a vector?

3 vues (au cours des 30 derniers jours)
Charlotte Wargniez
Charlotte Wargniez le 26 Juil 2022
Commenté : Walter Roberson le 28 Juil 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?

Réponses (1)

Walter Roberson
Walter Roberson le 26 Juil 2022
UTMZ = repmat('30 T', 1, length(Sy)).';
  4 commentaires
Charlotte Wargniez
Charlotte Wargniez le 27 Juil 2022
Modifié(e) : Charlotte Wargniez le 27 Juil 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 le 28 Juil 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);

Connectez-vous pour commenter.

Catégories

En savoir plus sur Resizing and Reshaping Matrices dans Help Center et File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by