whos
列出工作区中的变量及大小和类型
语法
说明
whos 按字母顺序列出当前活动工作区中的所有变量的名称、大小和类型。
whos -file 列出指定的 MAT 文件中的变量。filename
注意
安全注意事项:whos -file 命令在检查文件时可能会执行 MAT 文件中包含的代码。请避免对不受信任的 MAT 文件调用 whos -file。
whos global 列出全局工作区中的变量。
whos ___ 只列出指定的变量。此语法可与上述语法中的任何参量一起使用。var1 ... varN
whos ___ -regexp 只列出与指定的正则表达式匹配的变量。expr1 ... exprN
示例
显示示例 MAT 文件 durer.mat 中存储的变量的所有信息。
whos -file durer.mat
Name Size Bytes Class Attributes X 648x509 2638656 double caption 2x28 112 char map 128x3 3072 double
将有关 durer.mat 中变量的信息存储在结构体数组 S 中。
S = whos('-file','durer.mat');
显示 S 的内容。
for k = 1:length(S) disp([' ' S(k).name ... ' ' mat2str(S(k).size) ... ' ' S(k).class]); end
X [648 509] double caption [2 28] char map [128 3] double
创建具有各种属性的变量,然后显示它们的信息。
创建文件 show_attributes.m,其中包含以下语句。
function show_attributes persistent p; global g; p = 1; g = 2; s = sparse(eye(5)); c = [4+5i 9-3i 7+6i]; whos
调用 show_attributes。当 MATLAB® 执行 show_attributes 末尾的 whos 命令时,将列出每个变量及其相应的属性。
show_attributes
Name Size Bytes Class Attributes c 1x3 48 double complex g 1x1 8 double global p 1x1 8 double persistent s 5x5 128 double sparse
列出当前工作区中在嵌套函数中暂停的所有变量。
创建文件 whos_demo.m,其中包含以下语句。
function whos_demo date_time = datestr(now,'dd-mmm-yyyy'); date_time_array = strsplit(date_time,{'-',''}); get_date(date_time_array); function get_date(d) day = d{1}; %#ok<*NASGU> mon = d{2}; year = d{3}; keyboard end end
运行 whos_demo。MATLAB® 将在出现 keyboard 命令的行中暂停。
whos_demo
K>>
调用 whos 函数。MATLAB 将显示嵌套的 get_date 函数以及包含该嵌套函数的所有函数中的变量(按函数工作区分组)。
K>> whos
Name Size Bytes Class Attributes ---- whos_demo/get_date --------------------------------------- d 1x3 354 cell day 1x2 4 char mon 1x3 6 char year 1x4 8 char ---- whos_demo ------------------------------------------------ date_time 1x11 22 char date_time_array 1x3 354 cell
输入参数
要显示的变量,指定为一个或多个字符向量或字符串标量。使用 '*' 通配符来匹配模式。例如,whos A* S* 列出工作区中以 A 或 S 开头的所有变量的名称。
定义要显示的变量的正则表达式,指定为一个或多个字符向量或字符串标量。例如,whos -regexp ^Mon ^Tues 仅列出工作区中以 Mon 或 Tues 开头的变量名称。有关创建正则表达式的详细信息,请参阅正则表达式。
MAT 文件的名称,指定为字符向量或字符串标量。文件名可以包含完整路径、相对路径或部分路径。例如,whos -file myFile.mat 列出名为 myFile.mat 的 MAT 文件中的所有变量。whos -file 命令不返回文件 filenamefilename 中任何 MATLAB 对象的大小。
数据类型: char | string
输出参量
变量信息,返回为包含每个变量的标量 struct 的嵌套结构体数组。每个标量 struct 都包含以下字段。
| 字段 | 描述 |
|---|---|
| 变量的名称。 |
| 变量数组的维数。 |
| 为变量数组分配的字节数。
|
| 变量的类。如果变量没有值,则类是 |
| 如果是全局变量,则为 |
| 如果是稀疏变量,则为 |
| 如果是复变量,则为 |
| 包含以下字段的结构体:
|
| 如果是持久变量,则为 |
备选方法
通过点击“文件”面板中文件右侧的“预览”按钮 来预览 MAT 文件的内容。
扩展功能
此函数完全支持基于线程的环境。有关详细信息,请参阅在基于线程的环境中运行 MATLAB 函数。
whos 函数完全支持 GPU 数组。要在 GPU 上运行该函数,请将输入数据指定为 gpuArray (Parallel Computing Toolbox)。有关详细信息,请参阅在 GPU 上运行 MATLAB 函数 (Parallel Computing Toolbox)。
此函数完全支持分布式数组。有关详细信息,请参阅使用分布式数组运行 MATLAB 函数 (Parallel Computing Toolbox)。
版本历史记录
在 R2006a 之前推出whos 函数会在所显示列表的 Bytes 列中和输出结构体的 bytes 字段中返回更准确的数组大小测量值。
MATLAB Command
You clicked a link that corresponds to this MATLAB command:
Run the command by entering it in the MATLAB Command Window. Web browsers do not support MATLAB commands.
选择网站
选择网站以获取翻译的可用内容,以及查看当地活动和优惠。根据您的位置,我们建议您选择:。
您也可以从以下列表中选择网站:
如何获得最佳网站性能
选择中国网站(中文或英文)以获得最佳网站性能。其他 MathWorks 国家/地区网站并未针对您所在位置的访问进行优化。
美洲
- América Latina (Español)
- Canada (English)
- United States (English)
欧洲
- Belgium (English)
- Denmark (English)
- Deutschland (Deutsch)
- España (Español)
- Finland (English)
- France (Français)
- Ireland (English)
- Italia (Italiano)
- Luxembourg (English)
- Netherlands (English)
- Norway (English)
- Österreich (Deutsch)
- Portugal (English)
- Sweden (English)
- Switzerland
- United Kingdom (English)