Filter löschen
Filter löschen

How to get the 1×1 cell array?

3 Ansichten (letzte 30 Tage)
Smithy
Smithy am 3 Jan. 2023
Bearbeitet: Stephen23 am 3 Jan. 2023
hello, everybody
I would like to get the 1×1 cell array of {'m, -10, -15, L -4.7, 0 c 0, 0'}.
some values are caluclated from the variables.
I tried with str = {'m, offset+pos, offset+neg, L -neg+0.3, 0 c 0, 0'}.
However, the answer is {'m, offset+pos, offset+neg, L -neg+0.3, 0 c 0, 0'}.
it is just string and no calculation of variables.
I also tried with str = {"m", offset+pos, offset+neg, "L" -neg+0.3, 0 "c" 0, 0};
There is calculation of variables, However, it is 1×9 cell array.
How to get the 1×1 cell array of {'m, -10, -15, L -4.7, 0 c 0, 0'}?
offset = -20;
pos = 10;
neg = 5;
% str = {'m, offset+pos, offset+neg, L -neg+0.3, 0 c 0, 0'}; % just string and no calculation of variables
% str = {"m", offset+pos, offset+neg, "L" -neg+0.3, 0 "c" 0, 0}; % it is 1×9 cell array
% output I want is : 1×1 cell array of {'m, -10, -15, L -4.7, 0 c 0, 0'}
% str = {'m, -10, -15, L -4.7, 0 c 0, 0'};
  1 Kommentar
Stephen23
Stephen23 am 3 Jan. 2023
Bearbeitet: Stephen23 am 3 Jan. 2023
The best approach is to either use SPRINTF, just as Voss shows here:
or the new overloaded STRING operators, e.g.:
offset = -20;
pos = 10;
neg = 5;
str = "m, "+(offset+pos)+","+(offset+neg)+" L "+(-neg+0.3)+", 0 c 0, 0"
str = "m, -10,-15 L -4.7, 0 c 0, 0"

Melden Sie sich an, um zu kommentieren.

Akzeptierte Antwort

KSSV
KSSV am 3 Jan. 2023
offset = -20;
pos = 10;
neg = 5;
str = {['m, ', num2str(offset+pos),',', num2str(offset+neg), ' L ', num2str(-neg+0.3),',', '0 c 0, 0']}; % just string and no calculation of variables
str
str = 1×1 cell array
{'m, -10,-15 L -4.7,0 c 0, 0'}
  1 Kommentar
Smithy
Smithy am 3 Jan. 2023
Wow.. Thank you very much~!!! It works really well. I really really appreciate with it.

Melden Sie sich an, um zu kommentieren.

Weitere Antworten (1)

Voss
Voss am 3 Jan. 2023
offset = -20;
pos = 10;
neg = 5;
str = {sprintf('m, %g, %g, L -%g, 0 c 0, 0',offset+pos,offset+neg,neg-0.3)}
str = 1×1 cell array
{'m, -10, -15, L -4.7, 0 c 0, 0'}
  1 Kommentar
Smithy
Smithy am 3 Jan. 2023
Thank you very much. It works well. Wonderful.

Melden Sie sich an, um zu kommentieren.

Tags

Produkte


Version

R2022a

Community Treasure Hunt

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

Start Hunting!

Translated by