2016-11-20 8 views
0

Matlabで以下の等式をプロットする方法。 この式には2つの要因があります。特定の2つの入力要素の式をプロットする

kは(-1,1)のスカラー数です。

x値を指定すると、double値(-infinity、+ infinity)が与えられます。

私はこの機能のグラフィックをプロットする必要があります。

if x>0    plot (1-k)x 
else (case x<=0) plot(1+k)x 
+0

[matlabで3分岐機能のグラフを作成する方法](http://stackoverflow.com/questions/30790802/how-to-make-a-graph-of-a-three-ブランチ関数in-matlab) –

答えて

0

希望これは

k = 3 - randi(3); %random number between -1-0-1 (thanks op) 
x = -1e6:1e6; %a very long vecot 
y = zeros(1,length(x)); %prelocate y 
ind = find(x); %find the indeces where x>0 
y(ind) = (1- k) * x(ind); 
ind = find (x<=0); 
y(ind) = (1+k) * x(ind); 
plot(x,y);%plot 
+0

あなたのバージョンを[-1,1]の浮動小数点値に使用していますが、非常にうまく動作しません。なぜなら、あなたは2x2のansベクトルを作成し、それを使ってエラーになるからです。私が整数状態をシミュレートしたい場合、この場合k = { - 1,0,1}、私はrandi(3)-2を使用しています。私を助けてくれてありがとう! ANS = 0.5315 -0.4685 -0.4685 0.5315 >>(RAND *( - 1))^(ランディ(1,2)) – Igoto

0

を助け、私は無名関数が好き - 読みやすさを向上させることができます。

f = @(x,k) (1-k).*x.*(x>0) + (1+k).*x.*(x<=0) 
plot(x,f(x,k)) 

(x> 0)と(x < = 0)を使用して異なるケースを処理することに注意してください。

+0

私はMATLABでプロットするようにコードを使用してもらえますか?私は@を使用してこのフォームを知っていない、それはパラメトリックな方法ですか? – Igoto

+0

https://se.mathworks.com/help/matlab/matlab_prog/anonymous-functions.html – vindarmagnus

+0

はいできます。最初にxとkを定義するだけです。 – vindarmagnus

関連する問題