whos
列出工作区中的变量及大小和类型
语法
说明
whos 按字母顺序列出当前活动工作区中的所有变量的名称、大小和类型。
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 文件的内容。
扩展功能
whos 函数完全支持基于线程的环境。有关详细信息,请参阅在基于线程的环境中运行 MATLAB 函数。
whos 函数完全支持 GPU 数组,但存在以下用法说明和限制:
您可以使用
whos函数列出工作区中的gpuArray变量。whos函数将gpuArray对象的类显示为gpuArray。要确定
gpuArray的数据类型,请使用underlyingType函数。
有关详细信息,请参阅在 GPU 上运行 MATLAB 函数 (Parallel Computing Toolbox)。
whos 函数完全支持分布式数组。有关详细信息,请参阅使用分布式数组运行 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)