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

12 vues (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 起動と終了 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!