matlab 脚本中是否使用了某些 matlab 例程?

2024-02-07

我正在运行一个大的 m 文件,该文件不是我自己编写的,并且取决于某些子函数。我想知道所有嵌套函数中的任何位置是否使用了特定函数(在我的例子中是函数 eig.m (用于计算特征值))。 有没有快速的方法来做到这一点?

亲切的问候, 科恩


您可以使用半文档化的功能getcallinfo (see 亚尔奥特曼的博客 http://undocumentedmatlab.com/blog/function-definition-meta-info有关它的更多信息):

getcallinfo

Returns 被调用函数以及他们的第一行和最后一行
此功能不受支持,可能会在未经许可的情况下更改或删除 在未来版本中通知。

一般用途getcallinfo

让我们创建一个示例脚本其中包含子功能(这有效在Matlab R2016b中 https://es.mathworks.com/help/matlab/matlab_prog/create-functions-in-files.html或更新版本)并将其另存为'filename.m'。如果有,该过程也有效嵌套函数,或者如果主文件是function而不是脚本。

x = input('');
y = find(x);
z = f(norm(x));
disp(z)
function u = f(v)
    u = -log2(v) + log2(pi);
end

Then:

>> g = getcallinfo('filename.m');

给你一个嵌套结构数组包含有趣的信息,包括函数调用。第一个条目,g(1), 指主文件。可能还有子函数或嵌套函数的更多条目。在这种情况下,g(2)指的是子功能f.

>> g(1).calls.fcnCalls
ans = 
  struct with fields:    
    names: {'input'  'find'  'norm'  'disp'  'log2'  'log2'  'pi'}
    lines: [1 2 3 4 6 6 6]

>> g(1).calls.innerCalls
ans = 
  struct with fields:    
    names: {'f'}
    lines: 3

>> g(2).calls.fcnCalls
ans = 
  struct with fields:    
    names: {'log2'  'log2'  'pi'}
    lines: [6 6 6]

>> g(2).calls.innerCalls
ans = 
  struct with fields:    
    names: {1×0 cell}
    lines: [1×0 double]

其他领域的g give 更多细节,比如名字

>> g(1).name
ans =
filename

>> g(2).name
ans =
f

or type

>> g(1).type
ans = 
  Script with no properties.

>> g(2).type
ans =
subfunction

如何确定给定函数是否在文件中的任何位置使用

Obtain g如上所述,然后在所有中查找所需的函数名称calls.fcnCalls.names的领域g:

g = getcallinfo('filename.m');
sought_function = 'log2'; % or 'eig' in your case
t = arrayfun(@(x) x.calls.fcnCalls.names, g, 'UniformOutput', false);
    % collect all names of called functions. Gives a cell array of cell arrays
    % of strings (character vectors)
t = [t{:}]; % de-nest: concatenate into cell array of strings
result = any(strcmp(t, sought_function)); % compare with sought function name
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

matlab 脚本中是否使用了某些 matlab 例程? 的相关文章

  • Matlab:3D 堆积条形图

    我正在尝试创建一个 3D 堆积条形图 如这个问题所示 Matlab 中的 3D 堆叠条形图 https stackoverflow com questions 13156133 3d stacked bars in matlab 5D 然而
  • FMINCON 的替代方案

    除了 fmincon 之外还有其他更快 更高效的求解器吗 我正在使用 fmincon 来解决特定问题 但对于中等大小的向量变量来说 我的内存不足 我也没有任何超级计算机或云计算选项可供使用 我知道任何替代解决方案仍然会耗尽内存 但我只是想看
  • 如何将数据传递给 MATLAB oncleanup 函数?

    我有一个编译好的 matlab 程序 可以自动调整机器参数 在调整周期结束时 我需要恢复一些原始设置 有时会发生意外错误 有时用户会发现调整算法未正常工作 因此应终止 使用 control C 如果发生可预测的错误 我可以使用 try ca
  • Java注释处理器:检查TypeMirror是否实现特定接口

    我正在使用 Java 注释处理器 我的注释 foo用于标记可以在运行时读取到文件或从文件中读取的字段变量 但是 我想检查变量类型是否实现Serializable在编译时 这样如果该字段不可序列化 我可以在编译时给出警告 错误 我不需要实际检
  • MATLAB 除法...29/128 应该返回 0 吗?

    我真的不认为这是一个精度问题 答案应该是0 226左右 这是确切的代码 val I i j bucketSize pos val bucketSize I只是我从中获取值的矩阵 以下是 MATLAB 的输出 val 29 bucketSiz
  • 我应该在构造函数中调用成员函数吗

    我知道这是一个相当简单的问题 并且还取决于代码的其余部分 但我对经验法则更感兴趣 那么什么情况下适合在构造函数中调用函数呢 更可取的是 ClassA obj1 obj1 memFun or ClassA obj1 where constru
  • 反思 Groovy 脚本中声明的函数

    有没有一种方法可以获取 Groovy 脚本中声明的函数的反射数据 该脚本已通过GroovyShell目的 具体来说 我想枚举脚本中的函数并访问附加到它们的注释 Put this到 Groovy 脚本的最后一行 它将作为脚本的返回值 a la
  • 为什么将模块级代码放入函数中然后调用该函数在Python中速度更快?

    在亚历克斯 马尔泰利的回应中使 Python 脚本面向对象 https stackoverflow com questions 1813117 making a python script object oriented 他提到在 Pyth
  • 在 Matlab 中保存 Kinect 深度图像?

    通过使用 Kinect 我可以获得深度图像 其中每个深度图像像素存储相机和物体之间的距离 以毫米为单位 现在我想保存它们以便以后使用 最好的推荐是什么 我正在考虑将深度图像保存为图像 jpg png等 然而 该值通常是从50毫米到10000
  • C语言中如何通过内存地址映射函数名和行号?

    如何用 GCC 中的内存地址映射回函数名称和行号 即假设一个 C 语言原型 void func Get the address of caller maybe this could be avoided MemoryAddress get
  • Javascript:如何禁用提交按钮,直到验证所有字段?

    我有几个工作正常的验证函数 我想用简单的 javascript 编写一个额外的验证 没有 jQuery 等 对于整个表单 根据其他验证函数返回 true 还是 false 来禁用 启用 提交 按钮 我该怎么办 例如 对于我的主要 HTML
  • 在 plpgsql 函数中使用 quote_ident()

    我是创建 plpgsql 函数的新手 我需要一些有关在函数内部执行的动态命令上使用 quote ident 甚至 quote literal 的说明 希望有人能给我一个关于它们如何在函数内部工作的具体解释 TIA 这是一个例子 EXECUT
  • 将 2D NumPy 数组按元素相乘并求和

    我想知道是否有一种更快的方法 专用 NumPy 函数来执行 2D NumPy 数组的元素乘法 然后对所有元素求和 我目前使用np sum np multiply A B 其中 A B 是相同维度的 NumPy 数组m x n 您可以使用np
  • Matlab:2行10列的子图

    如何在 matlab 中绘制 20 幅图像 2 行 10 列 我知道我必须使用 子图 功能 但我对给出的参数感到困惑 我尝试给予 子图 2 10 行索引 列索引 但它似乎不起作用 请帮忙 的前两个参数subplot函数分别给出图中子图的总行
  • 轴标注问题

    通过运行我编写的以下 matlab 函数 可以互换图中的 x 轴和 y 轴 谁能告诉我问题出在哪里或者帮我解决它吗 预先感谢您的任何帮助 function axislabeling n x 1 1 n y 1 1 n z zeros n n
  • DWR 如何转换传入数据并避免类型擦除

    我想请求一个集合的项目类 某种特定的反映 但是关于类型擦除似乎是不可能的 而且关于我在堆栈上读到的一些主题也是如此 有一些解决方法 here https stackoverflow com questions 8452893 avoidin
  • 通过缓存或委托调用提高性能?

    我正在尝试提高下面代码的性能 并且有点知道如何做 但不确定哪种方法是最好的方法 第一次点击会花费更长的时间 但后续点击应该会更快 现在 我可以缓存 T 其中 T 是一个类 然后检查缓存以查看 T 是否存在 如果存在 继续获取其相关信息 Na
  • 像matlab一样在python中连接数组而不知道输出数组的大小

    我正在尝试在 python 中连接数组 类似于 matlab array1 zeros 3 500 array2 ones 3 700 array array1 array2 我在 python 中做了以下操作 array1 np zero
  • Doxygen:记录函数指针类型的参数 (ANSI-C)

    我的代码需要一些函数指针类型 例如 brief Callback function type foo typedef int foo int a int b 我想记录函数参数的语义 但是 param in out 旁边的 brief声明似乎
  • 拟合具有扭曲时基的正弦波

    我想知道在 Matlab 中拟合具有扭曲时基的正弦波的最佳方法 时间失真由 n 阶多项式 n 10 给出 其形式为t distort P t 例如 考虑失真t distort 8 12t 6t 2 t 3 这只是幂级数展开 t 2 3 这将

随机推荐

  • html 未在 wamp 中解析为 php

    我在 htaccess 文件中使用此代码片段将 html 解析为 php
  • 如何在Eclipse中支持UTF-8编码

    如何在 eclipse 中添加 UTF 8 支持 我想添加例如俄语 但 eclipse 不支持它 我应该怎么办 请指导我 Try this 1 Window gt Preferences gt General gt Content Type
  • LINQ 是对象关系映射器吗?

    LINQ 是一种对象关系映射器吗 LINQ 本身是一组语言扩展 可帮助查询 提高可读性并减少代码 LINQ to SQL 是一种 OR 映射器 但它并不是特别强大 这实体框架 http msdn microsoft com en us li
  • 警告“导入的库具有相同的名称,但它们不具有相同的名称”

    我在类中有以下导入语句 import package dart web toolkit ui dart import util flex table builder dart as ftBldr import factors list vi
  • 在 C++ 中创建 setter 函数的最佳方法

    我想编写一个通过移动或复制接收参数的模板函数 我使用的最有效的方法是 void setA A a m a std move a 在这里 当我们使用的是 A a setA a lt lt one copy ctor one move ctor
  • 包含 boost/Optional.hpp 时出现 C2143 语法错误

    我遇到了一个我无法理解的编译时错误 我尝试使用boost optional在我的代码中 一旦我包含boost optional hpp我无法再构建我的项目了 如果我注释掉这个 include 语句 它就会起作用 我什至没有任何实际用途boo
  • 如何在 bash 中不使用 printf 将字符转换为 ASCII

    ascii printf d 1 我目前正在使用此函数将字符转换为 ASCII 但是我只想将函数的结果存储为变量而不打印 ascii 我该怎么办呢 请记住 我总共只使用了几个小时的 bash 如果这是一个愚蠢的问题 我很抱歉 在 bash
  • 如何解决此 RCurl 错误:“SSL 证书问题:证书已过期”?

    我只是想获得下面一个简单的 URL 响应 但出现以下错误 该网站是有效的 我过去已经可以从该网站提取数千次信息 jsonString lt getURL full url Error in function type msg asError
  • 如何限制对ravendb管理面板的访问?

    当默认情况下运行 Raven Server exe 时 管理面板在 IP PORT 地址处可见 如何限制仅特定用户访问此面板 Steve 我们将 RavenDB 作为 Windows 服务运行 并使用 Windows 身份验证来控制访问 如
  • 将画布保存到图像文件会保存空白黑色图像

    首先 我对 UWP 和 XAML 还很陌生 我在我的 uwp 上编写了一个简单的代码 其中有一个画布 命名为 ImageHolder 里面有一个图像和文本块 我的主要问题是 每当我尝试使用 RenderTargetBitmap 将画布保存到
  • 如何在git的post-receive钩子中处理分支上的文件

    我有一个远程服务器 我在上面创建了一个裸 git 存储库 我想创建一个钩子 以便给定的脚本在任何给定分支上收到的最新代码上运行 我知道post receive可以使用钩子来实现它 但是我想做以下事情 找到收到代码的分支 在临时位置检出代码并
  • Python:交织两个列表[重复]

    这个问题在这里已经有答案了 执行以下操作的 pythonic 方法是什么 我有两个清单a and b相同长度的n 我想形成一个列表 c a 0 b 0 a 1 b 1 a n 1 b n 1 c item for pair in zip a
  • jQuery / JavaScript 中的自定义滚动条数学

    我目前正在开发一个项目 该项目使用自定义滚动插件 由我编写 来允许元素在触摸设备以及桌面浏览器中滚动 一切都工作正常 包括 iOS 的速度和减速度 然而 剩下的唯一问题是当用户滚动时计算滚动条的顶部 或左侧 位置 我用以下公式计算了滚动条的
  • 在我的 Express.js Jest 测试中找不到内存泄漏

    我现在花了一些时间尝试在 Jest 测试中查找内存泄漏 尽管我已经成功解决了一些问题 但仍然有相当多的内存在测试套件之间泄漏 具体来说 当我npm test 所有测试套件 我得到以下输出 PASS src suite1 test ts 71
  • iPhone 消息应用程序中的上滑菜单是如何实现的?

    在我的 iPhone iOS 8 0 2 上的消息应用程序中 当您撰写消息并单击相机图标插入图像时 底部会出现一个 向上滑动 菜单 它包含一些按钮 以及我可以插入到消息中的最近拍摄的照片 这个菜单叫什么名字 已经可以通过本地课程获得了吗 图
  • 无法搜索联系人

    所以我制作了一个静态联系人列表 并尝试添加搜索栏 但是我无法使用搜索栏搜索联系人 当我单击搜索栏时 它会打开但随后关闭 键盘会弹出一会儿 然后就会关闭 这个想法是使搜索具有预测性 因此当输入名称时 它将根据数据库中的名称列出已关闭的名称 有
  • 删除 JSON 元素

    我想从 JSON 中删除 JSON 元素或一整行 我有以下 JSON 字符串 result FirstName Test1 LastName User FirstName user LastName user FirstName Ropbe
  • Haskell:映射函数应用

    我在 Haskell 中进行的部分计算会产生映射的函数列表Float to Float 我想对所有这些函数应用一个参数 如下所示 x Float functions Float gt Float map f gt f x functions
  • 如何检查空结构?

    我定义了一个结构体 type Session struct playerId string beehive string timestamp time Time 有时我给它分配一个空会话 因为 nil 是不可能的 session Sessi
  • matlab 脚本中是否使用了某些 matlab 例程?

    我正在运行一个大的 m 文件 该文件不是我自己编写的 并且取决于某些子函数 我想知道所有嵌套函数中的任何位置是否使用了特定函数 在我的例子中是函数 eig m 用于计算特征值 有没有快速的方法来做到这一点 亲切的问候 科恩 您可以使用半文档