• ベストアンサー

MATLABにて場合分け関数を定義したい

MATLABの超初心者です. 関数f(x)を定義域により,違う関数で定義したいと考えています. つまり, f(x)= f1(x) if x<=5 = f2(x) if x>5 という感じです.なにぶん初心者のため,何を調べればよいのやら途方に暮れています.アドバイスお願いします

質問者が選んだベストアンサー

  • ベストアンサー
  • m0r1_2006
  • ベストアンサー率36% (169/464)
回答No.1

いろんなレベルがあるけど x に配列を要求しないなら, function [y] = foo1(x) if (x<=5) y = cos(x); else y = sin(x); end みたいで良いし, x に配列が入る場合は, function [y] = foo2(x) I = find(x<=5); J = find(x>5); y = zeros(size(x)); y(I) = x(I).^2 - 2; y(J) = -2*x(J).^2 + x(J) + 20; の様な関数でどないでしょう.

daa-junji
質問者

お礼

ありがとうございました.早速,取り掛かろうと思います.

関連するQ&A