区間に応じて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 Exchangeグラフィックス についてさらに検索

タグ

製品


リリース

R2019a

Community Treasure Hunt

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

Start Hunting!