Azzera filtri
Azzera filtri

display numeric row vector in app designer text box

5 visualizzazioni (ultimi 30 giorni)
I'm sure this is straight forward but I can't quite get it to work right.
I've got some code that will produce a row vector. The vector could be = [1,2,3,4,5] or it could = [1,5,6,9] or anything in between. Its just a list of unique values from some previous step.
But I want it to appear in a text box, on the app UI, like [n1,n2,n3...nx]. It doesn't have to show the brackets, but the numbers separated by comma would be ideal.
I've tried:
app.EditField.Value = evalc('Variable');
And that literally puts "Variable = 1 2 3 4 5"
I also tried:
app.EditField.Value = convertCharsToStrings(num2str(Variable));
Which, to me looks clunky (convert to string, then convert to char) and then it only puts out 1 2 3 4 5
Is there a clean way to get -> 1,2,3,4,5 in the text box?

Risposta accettata

Cris LaPierre
Cris LaPierre il 21 Ago 2023
The comma is a separator for building the vector, but is not actually part of the vector. Therefore, you will have to add it manually.
Off hand, I can't think of a 'one-line' way to do that. I'd probably do something like this.
a=1:5;
vec = sprintf('%g,',a)
vec = '1,2,3,4,5,'
app.EditField.Value = vec(1:end-1);
% visualize the result
app.EditField.Value
ans = '1,2,3,4,5'
  2 Commenti
Cris LaPierre
Cris LaPierre il 21 Ago 2023
Update - here's a simple one-line approach
a=1:5;
strjoin(string(a),",")
ans = "1,2,3,4,5"
Alex Mason
Alex Mason il 21 Ago 2023
Modificato: Alex Mason il 21 Ago 2023
Awesome, this works, Thanks!

Accedi per commentare.

Più risposte (0)

Categorie

Scopri di più su Develop Apps Using App Designer in Help Center e File Exchange

Prodotti


Release

R2022b

Community Treasure Hunt

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

Start Hunting!

Translated by