我想替换结构数组中的字段的值.例如,我想在以下结构中将所有1替换为3.
a(1).b = 1;
a(2).b = 2;
a(3).b = 1;
a([a.b] == 1).b = 3; % This doesn't work and spits out:
% "Insufficient outputs from right hand side to satisfy comma separated
% list expansion on left hand side. Missing [] are the most likely cause."
Run Code Online (Sandbox Code Playgroud)
这有一个简单的语法吗?我想为这种简单的操作避免丑陋的循环.
积分转到@Slayton,但你实际上可以做同样的事情来分配值,使用交易:
[a([a.b]==1).b]=deal(3)
Run Code Online (Sandbox Code Playgroud)
细分:
[a.b]
Run Code Online (Sandbox Code Playgroud)
检索b数组的所有字段,a并将此逗号分隔列表放在数组中.
a([a.b]==1)
Run Code Online (Sandbox Code Playgroud)
使用逻辑索引仅索引a满足约束的元素.以上随后完整的命令将值3以根据所得到的逗号分隔的列表的所有元素此.
| 归档时间: |
|
| 查看次数: |
2434 次 |
| 最近记录: |