1. ホーム
  2. matlab

[解決済み] 影付きエラーバー matlab

2022-02-25 16:41:34

質問

エクセルから3つのベクトル(500x1ダブル)をインポートしてプロットしたいのですが、私のコードがうまくいきません。

x=frequency;
y=real_part;
    figure;hold on;

    H(1) = shadedErrorBar(x, y, {@mean, @(x) 0.25*std(x)  }, '-r', 0);

ここで、frequencyとreal_partは私の3つのベクトルのうちの2つです。 これは

shadedErrorBarを使用したエラー(85行目) length(x) must equal 長さ(errBar)

Untitled2 のエラー(5行目) H(1) = shadedErrorBar(x, y, {@mean, @(x) 2*std(x) }, '-r', 0);

が、すべて同じ長さになっています。助けていただけますか? 私はここにコードを取りました http://blogs.mathworks.com/pick/2012/08/17/shaded-error-bars/

解決方法は?

あなたのxは 500x1ダブル は、おっしゃるとおりです。しかし、両方の無名関数 ( @mean, @(x) 0.25*std(x) ) は 1x1 ダブル が x に適用されると、サイズの不一致でエラーが発生するのはこのためです。

ここでポイントがずれているような気がします。もし、あなたが言った3番目のベクトルにエラー値があるとしたら、それを error_bars - であれば、うまくいくはずです。

shadedErrorBar(x , y , error_bars , '-r' , 0);

から引用しています。 ファイル交換時のshadedErrorBar :


  • x - x 値のベクトル.
  • y - y 値のベクトル,または n 個のオブザベーションと m 個のケースからなる行列. ここで、mはlength(x)である。
  • errBar - ベクトルの場合,対称的なエラーバーを描画します.もし、それが 2,length(x)]の場合、非対称のエラーバーが描かれます。 1行目が上のバー、2行目が下のバーとなります。 バーです。** 代わりに、errBar は、以下のようなセル配列にすることもできます。 2つの関数ハンドルがある。最初のハンドルはどの統計量を定義する を定義し、2つ目の行はエラー バーです。