![]() |
如何在MATLAB中的结构数组中重命名字段?
给定结构数组,如何重命名字段?例如,给定以下内容,如何将“ bar”更改为“ baz”。
clear a(1).foo = 1; a(1).bar = 'one'; a(2).foo = 2; a(2).bar = 'two'; a(3).foo = 3; a(3).bar = 'three'; disp(a) 什么是最佳方法,“最佳”是性能,清晰度和通用性之间的平衡? [B]回答:[/B] 从Matthew扩展[URL="https://stackoverflow.com/a/2733608/52738"]此解决方案[/URL]开始,如果新旧字段名称都存储为字符串,则还可以使用[URL="https://www.mathworks.com/help/matlab/matlab_prog/generate-field-names-from-variables.html"]动态字段名称[/URL] : newName = 'baz'; oldName = 'bar'; [a.(newName)] = a.(oldName); a = rmfield(a,oldName); [url=https://stackoverflow.com/questions/2733582]更多&回答...[/url] |
所有时间均为北京时间。现在的时间是 01:18。 |
Powered by vBulletin
版权所有 ©2000 - 2025,Jelsoft Enterprises Ltd.