0

次のような区分レベル関数を生成する最も簡単な方法は何ですか

ここに画像の説明を入力

マトリックスの各レベルの高さ (y 値) と長さ (水平) を知っているとします。

>> C=[2,4,1,-3;2,1.5,0.7,2.8]

C =

    2.0000    4.0000    1.0000   -3.0000
    2.0000    1.5000    0.7000    2.8000

つまり、最初の行はレベルレベルを示し、2 番目の行は水平方向の長さです。

また、レベル間の補間が必要です。

4

2 に答える 2

0

私はこのツールを使用します。たとえば、次の一連の区分関数があるとします。

 x < -5, y = 2 
-5 <= x < 0, y = sin(x) 
 0 <= x < 2, y = x.^2 
 2 <= x < 3, y = 6 
 3 <= x, y = inf 

したがって、任意の変数 x の関数として、次のように呼び出すだけです。

y = piecewise_eval(x,[-5 0 2 3],{2,'sin(x)','x.^2',6,inf});
于 2013-06-29T12:43:06.503 に答える
0

使用する

stairs([0 cumsum(C(2,:))], [C(1,:) C(1,end)]);

間の値を変更したり、別の方法でプロットしたい場合は、次の方法で座標を取得できます

[x, y] = stairs([0 cumsum(C(2,:))], [C(1,:) C(1,end)]);
于 2013-06-29T19:07:28.867 に答える