例:
x<0ではy=exp(x), x>=0ではy=sin(x) の yを計算で取り出したいです。
plotのしかたまでは見つけられますが、データをワークスペースにどう取り出せばいいのかわかりません。

 採用された回答

Hernia Baby
Hernia Baby 2021 年 2 月 18 日

0 投票

y1 = y(x(x<0));
y2 = y(x(x>=0));
のようにすれば取り出せます。
以下は一度正負で異なる関数を返し、まとめてプロットする方法です。
参考にどうぞ。
clear, clc, close all;
x = -3:0.1:3;
x = x';
y1 = exp(x(x<0));
y2 = sin(x(x>=0));
figure(1);
plot(x,[y1; y2],'o')

3 件のコメント

kenichiro inagaki
kenichiro inagaki 2021 年 2 月 18 日
ありがとうございます!もう少し可能でしたら教えて下さい。
これだとxとyの関係が別々になってしまうんですが、一つに統合するにはどうすればいいしょうか
上記の式に対し、
y = [y1 ; y2]
を作成、その後
XY = [x y]
と統合するのがセオリーでしょうか。これだと簡単ですが、もし他にやり方があれば教えていただきたいです…。
Hernia Baby
Hernia Baby 2021 年 2 月 19 日
その認識であってます。
列の統合にはカンマ( , )が必要です。
2列目にyを統合する場合は以下の手順を行ってください。
-----------
y = [y1; y2];
xy = [x, y];
-----------
xy(:,1) に x の列ベクトル、xy(:,2) に y の列ベクトル
がそれぞれ格納されます。
kenichiro inagaki
kenichiro inagaki 2021 年 2 月 19 日
ありがとうございます!できました!

サインインしてコメントする。

その他の回答 (0 件)

カテゴリ

製品

リリース

R2019a

タグ

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!