合成関数計算

조회 수: 18 (최근 30일)
Yu Horiuchi
Yu Horiuchi 2021년 6월 23일
댓글: Yu Horiuchi 2021년 6월 30일
合成関数の計算をしたいのですが、y=f(x),y=g(x)を置いた時に(整式とは限らない、例えば、f(x) = (sqrt(4*a*x-4*a*c+b^2)-b)/(2*a) のようにおいたりする時)にf(g(x))を求めるようなコードを教えてください

채택된 답변

Megumi Fukuda
Megumi Fukuda 2021년 6월 24일
편집: Megumi Fukuda 2021년 6월 24일
Symbolic Math Toolboxをお持ちでしたら、composeを使うのはどうでしょうか?
syms x y a b c;
f = (sqrt(4*a*x-4*a*c+b^2)-b)/(2*a)
g = sin(y)
compose(f, g)
MATLABでやりたいことを探す場合、「(キーワード) MATLAB」で検索するとすぐ出てくることがあります。
今回の場合、
「MATLAB 合成関数」
でweb検索すると、比較的上位にcomposeのページが出てくると思います。お試しください。
  댓글 수: 1
Yu Horiuchi
Yu Horiuchi 2021년 6월 30일
ありがとうございます。活用させていただきます。

댓글을 달려면 로그인하십시오.

추가 답변 (1개)

Atsushi Ueno
Atsushi Ueno 2021년 6월 23일
予め関数を定義すれば、数学の数式と同様にf(g(x))と書けば動作します。(a,b,c等係数は固定で適当な値です)
もし質問の意図と回答内容が違っていたら教えて下さい。
x = 10;
y = f(x)
y = 2.5414
x = 5;
y = g(x)
y = 10
y = f(g(x))
y = 2.5414
function y = f(x)
a = 1; b = 1; c = 1;
y = (sqrt(4*a*x-4*a*c+b^2)-b)/(2*a);
end
function y = g(x)
y = 2 * x;
end
  댓글 수: 3
Atsushi Ueno
Atsushi Ueno 2021년 6월 24일
シンボリックな数式の事だと思いますが、それはSymbolic Math Toolbox を使えば可能です。数式を文字のまま認識します。具体的な方法は既に@Megumi Fukudaさんが回答しています。
Yu Horiuchi
Yu Horiuchi 2021년 6월 30일
ありがとうございます。活用させていただきます。

댓글을 달려면 로그인하십시오.

카테고리

Help CenterFile Exchange에서 数学에 대해 자세히 알아보기

Community Treasure Hunt

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

Start Hunting!