2012-07-09 41 views
2

运行我的一个程序时,我需要扫描一个相当大的矩阵(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

+0

我不知道这是否会有所帮助,但你可以使用'停留在暂停执行;在用'image()'绘制矩阵之后暂停。用图像绘制矩阵是分析它的最简单方法,我认为... – 2012-07-10 07:19:34

+0

为什么你不是断点解决方案的粉丝? – 2012-07-10 10:16:17

+0

@ user1241315当我需要扫描我的矩阵时,我绘制矩阵。暂停解决方案并不比我的另一个解决方案好多了,那就是使用'input':至多我会看到64 * 64 – Rasman 2012-07-10 10:35:16

回答

1

好了,所以我正在寻找的是

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

简单好用的

0

(1),可以使用DISP(NUM2STR(数据,格式))或fprintf中更恰当地渲染矩阵,但是显示100x700矩阵实在不是一个好主意。 (2)您正在使用Matlab,所以我认为Matlab应该为您找到矩阵中的不规则性。如果你手工做这样的工作,使用Matlab有什么意义。我建议用算法找出矩阵中的不规则性(你可以提供关于不规则性的一些细节,也许有人会想出如何做到这一点)。