How to get the 1×1 cell array?

1 次查看(过去 30 天)
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 个评论
Stephen23
Stephen23 2023-1-3
编辑:Stephen23 2023-1-3
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"

请先登录,再进行评论。

采纳的回答

KSSV
KSSV 2023-1-3
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 个评论
Smithy
Smithy 2023-1-3
Wow.. Thank you very much~!!! It works really well. I really really appreciate with it.

请先登录,再进行评论。

更多回答(1 个)

Voss
Voss 2023-1-3
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'}

类别

Help CenterFile Exchange 中查找有关 Whos 的更多信息

标签

产品


版本

R2022a

Community Treasure Hunt

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

Start Hunting!

Translated by