区間に応じて2つの関数を使い分けて演算したい

1 回表示 (過去 30 日間)
kenichiro inagaki
kenichiro inagaki 2021 年 2 月 18 日
コメント済み: kenichiro inagaki 2021 年 2 月 19 日
例:
x<0ではy=exp(x), x>=0ではy=sin(x) の yを計算で取り出したいです。
plotのしかたまでは見つけられますが、データをワークスペースにどう取り出せばいいのかわかりません。

採用された回答

Hernia Baby
Hernia Baby 2021 年 2 月 18 日
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 件のコメント
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 件)

カテゴリ

Help Center および File Exchange2 次元および 3 次元プロット についてさらに検索

タグ

製品


リリース

R2019a

Community Treasure Hunt

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

Start Hunting!