在函数调用期间浏览变量

时间:2012-07-09 20:15:54

标签: matlab matlab-uitable

在运行我的某个程序时,我需要扫描一个相当大的矩阵(100 * 700)来识别不规则。

我最初的想法是在需要进行数据扫描时设置断点,但我不是该解决方案的粉丝。

我正在寻找的东西相当于在函数调用期间调用openvar('A')(除了我目前不能这样做)。替代方案disp使矩阵变差。

任何提示?

修改
我正在尝试做的示例:

function main

time = 0:pi/100:4*pi;
inV = (1:100)';

data = 10*diag(rand(100,1))*sin((inV)*time);

error = ceil(350*rand); % find the anolmaly
data( ceil(100*rand),error:(error+20))= -13;
test = true;

openvar('data')

while test

    close all;
    figure(1)
    hold on;
    plot(data')

    test= (input(strcat('Further review? ')));
    if (test)
        data(test,:) = [];
    end
end

如果我使用断点,我可以浏览数据,因为-13正在对它造成严重破坏(-13是我使用的一些随机数,实际上,它要复杂得多)。但是,断点仅在当前的Matlab会话期间存在。

我正在使用Matlab 2012a

2 个答案:

答案 0 :(得分:1)

好的,我正在寻找的是

t = uitable;
set(t,'Data',data)

美观而简单

答案 1 :(得分:0)

(1)您可以使用DISP(NUM2STR(DATA,FORMAT))或FPRINTF更正确地渲染矩阵,但显示100x700矩阵确实不是一个好主意。

(2)你正在使用Matlab,所以我认为Matlab应该为你找到矩阵中的不规则性。如果你手工做这样的工作,使用Matlab有什么意义呢。我建议用算法找出矩阵中的不规则性(你可以提供一些关于不规则性的细节,也许有人会想出如何做到这一点)。