如何让等待栏在 Matlab 中工作?

2024-03-02

我希望为需要相当长一段时间的操作提供等待时间。这是我的代码:

h = waitbar(0,'Please wait...');

for i=1:counterend
    waitbar(i/waitbarcounter)
    Atemp    = At+i*step;
    handle   = @(M) 1/M^2*((2/(gamma+1))*(1+(gamma-1)*M^2/2))^((gamma+1)/(gamma-1))-(Atemp/At)^2;
    Mach     = fzero(handle, 5);
    Aplot(i) =  Atemp/At;
    Tplot(i) = Tc / (1+(gamma-1)*Mach^2/2);
    Mplot(i) = Mach;
    plot(Aplot, Tplot)
end

close(h) 

Matlab给出的错误是:

???在 249 使用 ==> waitbar 时出错
waitbar 的不当参数

经过调查,我确信这个错误一定是由于循环中的相关代码而发生的。

注意:循环在没有等待栏的情况下工作正常。


Running

counterend = 10000;
>> h = waitbar(0,'Please wait...');

for i=1:counterend
    waitbar(i/counterend)
end

close(h);

在 2007a / Windows XP 上按预期工作。

顺便说一句,这将有助于了解反驳的定义。快速检查的方法是确保您没有向其传递 CELL。

Running

counterend = {10000};
h = waitbar(0,'Please wait...');

for i=1:counterend
    waitbar(i/counterend)
end

close(h);

在 2007a 中产生不同的错误(见下文),但此错误消息可能在 2008 年发生了变化。

???未定义的函数或方法 '_colonobj' 用于输入参数 输入“单元格”。

我的最后一点建议是警告您在大型数组/数据集上使用等待栏。虽然我认为告知用户进度很重要,但对我来说,还关心循环中添加了多少时间。由于使用具有 10 万多个条目的数组,我成为了 Profiler 的忠实用户,以查看时间真正花在哪里。我可以告诉你时间不是在 i/X 的计算中,而是在更新等待栏的显示中。为了减轻 update/drawnow 的影响,我只每 100 到 1000 个条目更新一次等待栏,这很有帮助。

编辑:更新响应以匹配最新代码

我首先开始在匿名功能上解决这个问题,过去与他们有过问题,这是我的个人恩怨。在查看函数时,我发现您正在使用 gamma,您是否将其定义为常量(循环/函数的常量)?我问的原因是“gamma”是一个 Matlab 函数,并且在尝试单独运行您的函数时给我带来错误。下面我稍微修改了您的代码,这在这里运行得很好。如果我所做的任何假设是错误的,请告诉我。 此外,如果您确实打算使用 gamma 函数,则您的函数缺少任何参数。希望这有帮助!

clc
h = waitbar(0,'Please wait...');
counterend = 1000;
waitbarcounter = counterend;
g_amma = 7;
At = 34;
step = 2;
Tc = 42;

for i=1:counterend
    waitbar(i/waitbarcounter)
    Atemp    = At+i*step;
    handle   = @(M) 1/M^2*((2/(g_amma+1))*(1+(g_amma-1)*M^2/2))^((g_amma+1)/(g_amma-1))-(Atemp/At)^2;
    Mach     = fzero(handle, 5);
    Aplot(i) =  Atemp/At;
    Tplot(i) = Tc / (1+(g_amma-1)*Mach^2/2);
    Mplot(i) = Mach;
    plot(Aplot, Tplot)
end

close(h) 

Regards,

Adam

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何让等待栏在 Matlab 中工作? 的相关文章

  • 像matlab一样在python中连接数组而不知道输出数组的大小

    我正在尝试在 python 中连接数组 类似于 matlab array1 zeros 3 500 array2 ones 3 700 array array1 array2 我在 python 中做了以下操作 array1 np zero
  • 氡变换线检测

    我正在尝试检测灰度图像中的线条 为此 我在 MATLAB 中使用 Radon 变换 我的 m 文件的示例如下所示 我可以使用此代码检测多行 我还使用线条的移位和旋转属性来绘制线条 但是 我不明白在获取rho和theta值后如何获取检测线的起
  • Matlab strcat 不返回字符串?

    imgstr 无法识别 strcat 的输出字符串 homedir C Users images for img 01 bmp 02 bmp 03 bmp imgstr strcat homedir img I imread imgstr
  • 如何在Matlab中将图像从笛卡尔坐标更改为极坐标?

    我正在尝试将图像的像素从 x y 坐标转换为极坐标 但我遇到了问题 因为我想自己编写该函数 这是我到目前为止所做的代码 function newImage PolarCartRot read and show the image image
  • MATLAB 中的逻辑数组与数值数组

    我正在比较两个二进制数组 我有一个数组 其中值可以是一或零 如果值相同则为 1 如果不同则为零 请注意 我正在做检查之外的其他事情 因此我们不需要进入矢量化或代码的性质 在 MATLAB 中使用数值数组和逻辑数组哪个更有效 Logical
  • matlab中优先级队列的实现方法

    matlab中有没有提供minpriorityqueue功能的库 import java util PriorityQueue import java util public class MyQueue Comparator
  • 用于读取csv写入数组的c++程序;然后操作并打印到文本文件中(已经用 matlab 编写)

    我想知道是否有人可以帮助我 我正在尝试构建一个程序 从 csv 文件中读取大小未知的浮点数大数据块 我已经在 MATLAB 中编写了此代码 但想要编译和分发此代码 因此转向 C 我只是在学习并尝试阅读本文以开始 7 5 19892 4 23
  • MATLAB 符号替换

    我知道在 MATLAB 中如果声明了 syms x y f x 2 y 2 grad gradient f 然后grad会存储值 2 x 2 y 如果我想评估梯度 2 2 I use subs f x y 2 2 这返回 4 4 我正在编写
  • Matlab 错误:()-索引必须出现在索引表达式的最后

    我有这段代码 想要在制表符分隔的 txt 文件中写入一个数组 fid fopen oo txt wt for x 1 length s fprintf fid s t n s x 1 end fclose fid 但我收到此错误 Error
  • UDP接收和发送Matlab

    我目前正在努力从外部设备接收数据包 然后将数据发送到另一个设备 我有一个工作 Simulink 模型 但我不知道如何在 Matlab 中对其进行编码 Matlab 中 UDP 接收块的参数如下图所示UDP 接收参数 https i stac
  • 从 3 个向量创建等值线图

    我正在尝试根据这些数据创建等高线图 pH D Tur 5 10 3 79 18918919 5 50 6 92 97297297 5 00 0 50 09009009 5 00 6 90 36036036 5 10 9 91 0810810
  • 静态时序数据的数据库解决方案

    我们拥有一个庞大且不断增长的实验数据集 该数据集取自约 30 000 名受试者 对于每个主题 都有多个数据记录 在每个记录中 收集了多个生理数据时间序列 每个时间序列约 90 秒长 并以 250Hz 采样 我应该注意到 时间序列的任何给定实
  • 如何使用神经网络保存 Sift 特征向量进行分类

    SIFT 特征的 Matlab 实现发现于http www cs ubc ca lowe keypoints http www cs ubc ca lowe keypoints 在 stackoverflow 的帮助下 我想将功能保存到 m
  • 通过 h5py 将 matlab v7.3 文件读入 python numpy 数组列表

    我知道以前已经有人问过这个问题 但在我看来 仍然没有答案可以解释正在发生的事情 并且不适用于我的情况 我有一个 matlab v7 3 文件 其结构如下 gt rank lt 1x454 cell gt gt each element is
  • 覆盖 MATLAB 默认静态 javaclasspath 的最佳方法

    MATLAB 配置为在搜索用户可修改的动态路径之前搜索其静态 java 类路径 不幸的是 静态路径包含相当多非常旧的公共库 因此如果您尝试使用新版本 您可能最终会加载错误的实现并出现错误 例如 静态路径包含 google collectio
  • 在每次迭代中使用 for 循环的索引命名图像

    我正在使用 MATLAB 进行图像处理项目 我使用 for 循环在每次循环迭代时生成某种图像数据 图像大小不同 我的问题是如何阻止它在下一次迭代中覆盖图像 Img i j data 理想情况下我希望它有 Img 1 data for 1st
  • ODE 时间 Matlab 与 R

    如果在 matlab 中使用可变时间步长求解器 例如 ODE45 我会定义输出的时间跨度 即times 0 50 matlab 将返回 0 到 50 之间不同时间步长的结果 然而在 R 中 我似乎必须定义我希望 ODE 返回结果的时间点 即
  • FFT 的功率谱密度

    我有一段代码可以获取部分信号的 FFT 现在我正在尝试获取 PSD Fs 44100 cj sqrt 1 T 6 dt 1 Fs left test 1 right test 2 time 45 interval 636 w range t
  • 在 Matlab 中保存当前运行的脚本

    有没有办法保存Matlab中当前运行的脚本 我有一个脚本 它会自动备份一组脚本 但如果我更改了当前脚本 则保存的版本将过期 也许可以调用一些java Thanks 在 Yair Altman 网站上的某个地方 请参阅我的其他答案中的链接 他
  • 如何让MCR启动时间快

    我将 matlab 程序转换为 net 程序集 即 dll 文件 我制作了一个控制台 C 应用程序 添加了 dll 文件并从 php 调用它 每次调用 exe 时都会调用 MCR 如何使 MCR 在服务器启动时初始化 并且即使在一段时间后调

随机推荐

  • 生成随机 IPv6 地址

    在Python中 如果我想生成一个IP v6地址形式的随机字符串 该怎么办 例如 ff80 220 16ff fec9 1 fe80 232 50ff fec0 5 fe20 150 560f fec4 3 等 有人可以给我一些帮助吗 一线
  • Imgur API 上传

    于是就有了这行代码 String data URLEncoder encode image UTF 8 URLEncoder encode Base64 encodeBase64String baos toByteArray toStrin
  • Google Compute Engine 分配静态 IP 定价?

    当我们为 Compute Engine 实例分配静态 IP 时 我们是否需要为该实例支付额外费用 我已阅读他们的文档 但没有找到有关该功能定价的任何信息 UPDATE 自 2020 年 1 月 1 日起 静态和临时外部 IP 在使用时按 0
  • 将数组拆分为大小相等的窗口[重复]

    这个问题在这里已经有答案了 我正在尝试拆分numpy array长度为 40 的较小的 大小相等的numpy arrays 其中较小数组的数量由用户给出 较小数组之间允许有一些重叠 因为在给定较小数组某种形式的重叠的情况下 可能会出现全长只
  • 在 SOAP 消息中使用 XSLT 替换命名空间 uri

    我有一条输入肥皂消息 试图用不同的字符串替换命名空间 URI 的一部分 我可以用不同的 URI 替换整个 URI 但无法修改现有的 URI 我需要查找 OLDSTRING 并替换为 NEWSTRING 字符串 VARIABLESTRING
  • 在 Solr 中增强布尔字段

    是否可以提高 Solr 中的布尔字段以便获得更高的分数 我们有一个索引 看起来有点像这样 文档ID title 描述 keywords 已审阅 搜索时 已审阅的文档 即 is reviewed true 的权重应高于未审阅的文档 而不是完全
  • VoiceXML 录制整个通话,包括菜单选项

    我正在尝试使用 VoiceXML 在 Nexmo 上 录制整个电话 我可以单独进行录音或给出菜单提示并转接呼叫 但我不知道如何同时执行这两项操作 我想从头到尾记录通话 包括转接的通话部分 我想象 VoiceXML 看起来像这样 但这不是有效
  • 用多态函数覆盖模板化函数

    如果我有 template
  • 为什么 addOnScrollListener 不起作用?

    我尝试在滚动到 recyclerView 底部时实现加载更多 当我的 XML 只有 recyclerView 时它可以工作 但当我将它放入滚动视图和 setNestedScrollingEnabled false 时它不起作用 Requir
  • 限制显示的表格行数

    如果我有一个包含很多行的简单 HTML 表格 我怎样才能只显示x行数 HTML table tr th Process th th User th th CPU th tr tr td system welcome exe td td dv
  • HTML5输入颜色默认颜色

    The input type color 默认颜色为黑色 000000 即使我给它一个空值
  • 如何将 Azure 逻辑应用中 For_Each 循环的输出合并到单个平面数组?

    我有一个For Each在调用另一个嵌套逻辑应用程序的 Azure 逻辑应用程序中循环 嵌套逻辑应用的每次迭代的结果是一个包含字符串数组的 JSON 对象 如下所示 Results string a string b 因此 父逻辑应用程序中
  • Java 如何反转 BigInteger?

    我需要反转BigInteger 假设我有BigInteger x 我需要计算x modPow new BigInteger 1 p 我收到以下错误 java lang ArithmeticException BigInteger not i
  • 解锁模拟器或设备以进行 Android 测试

    我正在编写 Android 功能测试 我需要设备处于唤醒状态并且应用程序处于可视化状态才能正常工作 我已经咨询过安卓开发者 http developer android com tools testing activity testing
  • IE9 在哪里寻找大图标?

    IE9 具有将特定网站固定到 Windows7 任务栏的概念 对于某些网站 例如 Facebook 它会在任务栏中以及后退按钮旁边显示一个超大的图标 我如何告诉 IE 为我的网站执行此操作 虽然有点晚了 但我发现上面的答案有些不完整 ico
  • 将“dist”类的对象转换为r中的数据框

    如果可以将数据框转换为 dist 类的对象 是否可以做相反的事情 将类 dist 转换为数据框 例如 1 2 3 4 2 0 088814413 3 0 084929382 0 030413813 4 0 063245553 0 02912
  • 如何阻止输入函数插入新行?

    我知道我可以通过添加逗号来阻止 print 写入换行符 print Hello world print Hello world end for Python 3 x 但我该如何停止raw input or input对于Python 3 x
  • 如何在我自己的 HTML 中使用 WordPress 联系表单 7?

    我想在我的网站上使用 WordPress 联系表单 7 但我已经有一个 HTML CSS 布局 因此 我想修改该插件以将其与自定义 HTML 代码一起使用
  • 在 iOS 上的多个应用程序之间共享数据

    我知道这方面有很多线程 但似乎没有一个能满足我想要寻找的内容 这是我的限制 不是使用私有 API 框架或未记录的黑客行为 目录访问可能会带来应用程序被拒绝的风险 因为那个 能够在不同的地方共享数据 供应商 应用程序开发商 数据可以在生命周期
  • 如何让等待栏在 Matlab 中工作?

    我希望为需要相当长一段时间的操作提供等待时间 这是我的代码 h waitbar 0 Please wait for i 1 counterend waitbar i waitbarcounter Atemp At i step handle