如何在MATLAB中为多个变量分配相同的值或矩阵?
为多个变量分配相同矩阵的单行实现方法
要一次性给多个变量分配相同的6×6单位矩阵,Matlab里可以用deal函数实现单行赋值,这是最简洁的方案:
[S1,S2,S3,S4,S5,S6,L21,L31,L41,L51,L61,L32,L42,L52,L62,L43,L53,L63,L54,L64,L65] = deal(eye(6));
deal函数的核心作用就是将输入值批量分配给多个输出变量:当你只传入一个输入参数(这里是eye(6))时,它会自动把这个值复制给每一个输出变量,每个变量都会得到独立的矩阵副本,完全满足你用最少代码完成赋值的需求。
如果你的变量名有统一规律(比如可以用数组或结构体管理),也可以用更简洁的批量定义方式,但针对你给出的21个独立变量名,上述deal单行代码是最直接的实现方式。
内容的提问来源于stack exchange,提问作者Evan Guthrie
相关产品推荐
相关产品推荐

