||| |
语法:
[Y1, Y2, Y3, ...] = deal(X)
[Y1, Y2, Y3, ...] = deal(X1, X2, X3, ...)
[S.field] = deal(X)
[X{:}] = deal(A.field)
[Y1, Y2, Y3, ...] = deal(X{:})
[Y1, Y2, Y3, ...] = deal(S.field)
说明:
[Y1, Y2, Y3, ...] = deal(X)
将单一输入复制到请求的所有输出。它与 Y1 = X
、Y2 = X
、Y3 = X
、...
相同
[Y1, Y2, Y3, ...] = deal(X1, X2, X3, ...)
与 Y1 = X1
、Y2 = X2
、Y3 = X3
、 ...
相同
使用 deal
将 4 元素元胞数组的内容复制到 4 个单独的输出变量。
C = {rand(3) ones(3,1) eye(3) zeros(3,1)}; [a,b,c,d] = deal(C{:}) a = 0.9501 0.4860 0.4565 0.2311 0.8913 0.0185 0.6068 0.7621 0.8214 b = 1 1 1 c = 1 0 0 0 1 0 0 0 1 d = 0 0 0
使用 deal
获取结构体数组中所有名称字段的内容:
A.name = 'Pat'; A.number = 176554; A(2).name = 'Tony'; A(2).number = 901325; [name1,name2] = deal(A(:).name) name1 = Pat name2 = Tony
从 MATLAB 7.0 版软件开始,在大多数情况下,无需使用 deal
函数即可访问元胞数组和结构体字段的内容。如下所示的两个命令执行与前两个示例中所用函数相同的操作,不同的是这些命令不需要使用 deal
。
[a,b,c,d] = C{:} [name1,name2] = A(:).name
deal
在通过逗号分隔列表扩展与元胞数组和结构体一起使用时非常有用。以下是一些有用的构造:
[S.field] = deal(X)
将结构体数组 S
中具有相同 field
的所有字段设置为值 X
。如果 S
不存在,请使用 [S(1:m).field] = deal(X)
。
[X{:}] = deal(A.field)
将名称 field
的字段值复制到元胞数组 X
。如果 X
不存在,请使用 [X{1:m}] = deal(A.field)
。
[Y1, Y2, Y3, ...] = deal(X{:})
将元胞数组 X
的内容复制到单独的变量 Y1, Y2, Y3, ...
[Y1, Y2, Y3, ...] = deal(S.field)
将名称 field
的字段内容复制到单独的变量 Y1, Y2, Y3, ...
Archiver|手机版|科学网 ( 京ICP备07017567号-12 )
GMT+8, 2024-9-1 17:41
Powered by ScienceNet.cn
Copyright © 2007- 中国科学报社