2

プログラムの1つを実行しているときに、不規則性を特定するために、かなり大きなマトリックス(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セッション中にのみ存在します。

Matlab2012aを使用しています

4

2 に答える 2

1

さて、私が探しているのは

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

素晴らしくてシンプル

于 2012-07-11T03:05:37.793 に答える
0

(1)DISP(NUM2STR(DATA、FORMAT))またはFPRINTFを使用してマトリックスをより適切にレンダリングできますが、100x700マトリックスを表示することは実際には良い考えではありません。

(2)あなたはMatlabを使用しているので、MatlabはあなたのためにMatrixの不規則性を見つける仕事をするべきだと思います。このような作業を手作業で行う場合、Matlabを使用する意味は何ですか。アルゴリズムを使用してマトリックス内の不規則性を見つけることをお勧めします(不規則性に関する詳細を提供できます。誰かがそれを行う方法についてアイデアを思いつくかもしれません)。

于 2012-07-10T13:11:46.727 に答える