结构域到变量
用于将工作空间变量导入结构或从结构导出的代码编写工具。 结构是一种方便的方式,可以将多个变量作为单个对象携带,并将这些变量传递给包含在单个参数中的函数。
但是,一旦将结构传递给功能,许多用户(根据新闻组的各种帖子)就会发现,不得不通过点索引符号重复访问其字段很烦人,并寻求自动方式来采用结构并分配其所有结构用于分隔变量的字段,例如a = myStruct.a;
b = myStruct.b;
c = myStruct.c;等等...
基于assignin()的解决方案经常被尝试过,但是由于例如在该线程中讨论的原因,这是危险的。
structvars()工具实际上做了同样好又安全得多的事情。
给定一个结构,它将打印将结构字段分配给单独的变量(或相反)所需的代码行。可以方便地将代码行从命令窗口复制/粘贴到文件编辑器中文件中需要解压缩变量的位置。
示例:给定结构myStruct,具有字段a,b,c和d
(1)structvars(myStruct)将字段分配给变量
ans =
a = myStruct.a;
b = myStruct.b;
c = myStruct.c;
d = myStruct.d;
(2)structvars(3,myStruct)将最后的结果分成3列
ans =
a = myStruct.a; c = myStruct.c; d = myStruct.d;
b = myStruct.b;
(3)structvars(3,myStruct,0)%将变量分配给字段
ans =
myStruct.a = a; myStruct.c = c; myStruct.d = d;
myStruct.b = b;
如果稍后添加/删除结构字段,显然可以重新生成命令。另一方面,仅手动进行这些增量编辑的工作通常很少。
完整资料领取请阅读全文
隐藏内容需要支付:¥10
查看隐藏内容需要支付:
¥10
支付宝
请使用
支付宝 扫码支付
本文地址:https://i-blog.csdnimg.cn/blog_migrate/c54fc5c1dfc7683da53777dc00c126e9.png