Matlab中whos的用法

Matlab中whos的用法目录 语法 说明 示例 显示工作区变量信息 显示 MAT 文件中存储的变量的信息 在结构体数组中存储变量信息 显示变量属性信息 列出嵌套或匿名函数中的工作区变量 whos 列出工作区中的变量及大小和类型 语法 whos whos file filename whos global whos

大家好,我是讯享网,很高兴认识大家。

目录

语法

说明

示例

显示工作区变量信息

显示 MAT 文件中存储的变量的信息

在结构体数组中存储变量信息

显示变量属性信息

列出嵌套或匿名函数中的工作区变量


        whos列出工作区中的变量及大小和类型。

语法

whos whos -file filename whos global whos ___ var1 ... varN whos ___ -regexp expr1 ... exprN S = whos(___)

讯享网

说明

whos按字母顺序列出当前活动工作区中的所有变量的名称、大小和类型。

whos -file filename列出指定的 MAT 文件中的变量。

whos global 列出全局工作区中的变量。

whos ___ var1...varN只列出指定的变量。此语法与先前语法中的任何参数结合使用。

whos ___ -regexp expr1...exprN只列出与指定的正则表达式匹配的变量。

S = whos(___) 将变量的信息存储在结构体数组 S 中。

注意

        当存在输出参数时,必须使用whos的函数形式。

示例

显示工作区变量信息

        显示当前工作区中特定变量的信息。例如,列出名称以字母a开头的变量的相关信息。

讯享网whos a*

        现在,列出名称以ion结尾的变量的相关信息。

whos -regexp ion$

显示 MAT 文件中存储的变量的信息

        显示示例 MAT 文件durer.mat中存储的变量的所有信息。

讯享网whos -file durer.mat Name Size Bytes Class Attributes X 648x509  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 

var1 ... varN - 要显示的变量

        要显示的变量,指定为一个或多个字符向量或字符串标量。使用 '*' 通配符来匹配模式。例如,whos A* S* 列出工作区中以 A 或 S 开头的所有变量的名称。


讯享网

expr1 ... exprN - 正则表达式

        定义要显示的变量的正则表达式,指定为一个或多个字符向量或字符串标量。例如,whos -regexp ^Mon ^Tues 仅列出工作区中以 Mon 或 Tues 开头的变量名称。

filename - MAT 文件的名称

        MAT 文件的名称,指定为字符向量或字符串标量。文件名可以包含完整路径、相对路径或部分路径。例如,whos -file myFile.mat列出名为myFile.mat的 MAT 文件中的所有变量。whos -file filename 命令不返回文件 filename 中任何 MATLAB 对象的大小。

S - 变量信息

        变量信息,返回为包含每个变量的标量 struct 的嵌套结构体数组。每个标量 struct 都包含以下字段。

字段 说明

name

变量的名称。

size

变量数组的维数。

bytes

为变量数组分配的字节数。

whos 返回每个变量在工作区中占用的字节数,不一定与每个变量在 MAT 文件中占用的字节数相同。第 7 版和后续版本的 MAT 文件已被压缩,因此工作区中需要的字节数通常多于文件中的字节数。

whos 不会报告句柄对象占用的字节数。如果某个变量包含句柄对象,whos 函数为该变量显示的字节数可能比预期的少。

class

变量的类。如果变量没有值,则类是 '(unassigned)'

global

如果是全局变量,则为 true

sparse

如果是稀疏变量,则为 true

complex

如果是复变量,则为 true

nesting

包含以下字段的结构体:

  • function - 定义变量的嵌套或外部函数的名称。
  • level - 该函数的嵌套级别。

persistent

如果是持久变量,则为 true

备选方法

  • 也可以使用当前文件夹浏览器的详细信息面板查看 MAT 文件的内容。详细信息面板在MATLAB Online™ 中不可用。
小讯
上一篇 2025-02-24 16:23
下一篇 2025-01-11 18:47

相关推荐

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容,请联系我们,一经查实,本站将立刻删除。
如需转载请保留出处:https://51itzy.com/kjqy/19784.html