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

1 vue (au cours des 30 derniers jours)
kenichiro inagaki
kenichiro inagaki le 18 Fév 2021
例:
x<0ではy=exp(x), x>=0ではy=sin(x) の yを計算で取り出したいです。
plotのしかたまでは見つけられますが、データをワークスペースにどう取り出せばいいのかわかりません。

Réponse acceptée

Hernia Baby
Hernia Baby le 18 Fév 2021
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 commentaires
Hernia Baby
Hernia Baby le 19 Fév 2021
その認識であってます。
列の統合にはカンマ( , )が必要です。
2列目にyを統合する場合は以下の手順を行ってください。
-----------
y = [y1; y2];
xy = [x, y];
-----------
xy(:,1) に x の列ベクトル、xy(:,2) に y の列ベクトル
がそれぞれ格納されます。
kenichiro inagaki
kenichiro inagaki le 19 Fév 2021
ありがとうございます!できました!

Connectez-vous pour commenter.

Plus de réponses (0)

Catégories

En savoir plus sur 2 次元および 3 次元プロット dans Help Center et File Exchange

Tags

Produits


Version

R2019a

Community Treasure Hunt

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

Start Hunting!