gpt4 book ai didi

带有 slider 的imagesc的Matlab实时更新

转载 作者:太空宇宙 更新时间:2023-11-03 20:33:23 25 4
gpt4 key购买 nike

我有一个 3D 矩阵,我想将其以图形方式查看为要显示的彩色 map 。如果我的 3D 矩阵是 (x,y,z) 形式,我希望颜色图显示 (y,z) 2D 矩阵,并且我希望有一个额外的 slider 来调整 (x) 坐标。我正在用 imagesc 实现这个。

看了一些例子,这是我写的代码

ct = 1000;
sys = squeeze(T(ct,:,:));

f = figure;
h = imagesc(sys);

b = uicontrol('Parent',f,'Style','slider','Position',[81,54,419,23],...
'value',ct, 'min',1, 'max',total_time);

b.Callback = @(es,ed) updateSystem(h,squeeze(T(es.Value,:,:)));

但是,运行代码后出现以下错误。

Subscript indices must either be real positive integers or logicals.

Error in filament_simulation>@(es,ed) updateSystem(h,squeeze(T(es.Value,:,:)))

Error while evaluating UIControl Callback

这可能是因为我不太了解“updateSystem”,但我很惊讶地看到错误是由于无效索引造成的,那会在哪里呢?

我非常感谢对此提供一些帮助。提前致谢。

最佳答案

slider 有可能具有非整数值。在将其用作索引之前,您需要对其进行舍入

updateSystem(h, squeeze(T(round(es.Value), :, :)))

与其尝试使用 updateSystem(一个控制系统工具箱函数),您可以使用以下回调来更新图像数据。

b.Callback = @(es, ed)set(h, 'CData', squeeze(T(round(es.Value), :, :)));

关于带有 slider 的imagesc的Matlab实时更新,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38660071/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com