Assign value in a cell with a "oneliner"
1 次查看(过去 30 天)
显示 更早的评论
Hello Matlab folks,
I am trying to retrieve a cell and change some of its values with only one command line.
I have today :
>> x = {'a';'b';'c';'d';'e'};
>> x{2} = 'y';x{4} = 'z';
I am looking for something like:
>> UnknownFunction({'a';'b';'c';'d';'e'},2,'x',4,'z');
And because it is not funny otherwise, I can't create an UnknownFunction.m myself as I need to use only native Matlab function.
Any Idea ?
Thanks
0 个评论
采纳的回答
madhan ravi
2019-8-9
[x{2},x{4}]=deal('x','z')
4 个评论
madhan ravi
2019-8-9
编辑:madhan ravi
2019-8-9
Thanks dpb , I thought so too until the OP commented xd:
subsref({'a';'b';'c';'d';'e'},substruct('{}',{2}))
% or you can use the below ones if the user made anonymous function is allowed
retriever = @(x,y) x(y);
% ^_^ - use {} if you want
retriever({'a';'b';'c';'d';'e'},2)
更多回答(0 个)
另请参阅
类别
在 Help Center 和 File Exchange 中查找有关 Data Type Conversion 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!