mod
除算後のシンボリック モジュラス
R2020b 以降、mod はシンボリック多項式の各係数のモジュラスを求めません。詳細については、バージョン履歴を参照してください。
説明
例
被除数と除数の両方が整数であるときの、除算後のモジュラスを求めます。
これらの数値の除算後のモジュラスを求めます。
m = [mod(sym(27),4), mod(sym(27),-4), mod(sym(-27),4), mod(sym(-27),-4)]
m =
被除数が有理数、除数が整数であるときの、除算後のモジュラスを求めます。
これらの数値の除算後のモジュラスを求めます。
m = [mod(sym(22/3),5), mod(sym(1/2),7), mod(sym(27/6),-11)]
m =
被除数が多項式、除数が整数であるときの、除算後のモジュラスを求めます。被除数が多項式の場合、mod はモジュラスを評価せずにシンボリック式を返します。
多項式 を で除算した後のモジュラスを求めます。
syms x
a = x^3 - 2*x + 999;
mUneval = mod(a,10)mUneval =
多項式の各係数のモジュラスを評価するには、まず coeffs を使用して各項の係数を抽出します。
[c,t] = coeffs(a)
c =
t =
次に、10 で割った c の各係数のモジュラスを求めます。評価された係数を使用して新しい多項式を再構成します。
cMod10 = mod(c,10); mEval = sum(cMod10.*t)
mEval =
ベクトルや行列に対して、mod は各要素の除算後のモジュラスを求めます。引数が両方とも非スカラーの場合、それらは同じサイズでなければなりません。一方の引数がスカラーの場合、関数 mod はそのスカラー入力をもう一方の入力と同じサイズの配列に拡張します。
2 つの行列要素の除算後のモジュラスを求めます。
A = sym([27,28; 29,30]); B = sym([2,3; 4,5]); M = mod(A,B)
M =
行列 A および値 9 の要素の除算後のモジュラスを求めます。ここで、mod は 9 をすべての要素が 9 に等しい 2 行 2 列の行列に展開します。
M = mod(A,9)
M =
ノコギリ波を表す 2 つの周期関数を作成します。
周期 T = 2、振幅 A = 1.5 でノコギリ波を定義します。シンボリック関数 y(x) を作成します。関数 mod を使用して、各周期のノコギリ波を定義します。ノコギリ波は 1 周期全体で直線的に増加し、次の周期の開始時にゼロに戻ります。
T = 2;
A = 1.5;
syms y(x);
y(x) = A*mod(x,T)/T;区間 [-6 6] について、このノコギリ波をプロットします。
fplot(y,[-6 6])

次に、1 つの周期内で対称になる別のノコギリ波を作成します。piecewise を使用して、周期の前半で直線的に増加し、周期の後半で直線的に減少するノコギリ波を定義します。
y(x) = piecewise(0 < mod(x,T) <= (T/2), 2*A*mod(x,T)/T,...
(T/2) < mod(x,T) <= T, 2*A - 2*A*mod(x,T)/T);区間 [-6 6] について、このノコギリ波をプロットします。
fplot(y,[-6 6])

入力引数
被除数 (分子)。数値、シンボリック数、変数、多項式、あるいは数値、シンボリック数、変数または多項式のベクトルまたは行列として指定します。入力 a と b は、いずれかがスカラー値でない限り、同じサイズでなければなりません。関数はスカラー入力を他方の入力と同じサイズの配列に拡張します。
除数 (分母)。数値、シンボリック数、あるいは数値またはシンボリック数のベクトルまたは行列として指定します。入力 a と b は、いずれかがスカラー値でない限り、同じサイズでなければなりません。関数はスカラー入力を他方の入力と同じサイズの配列に拡張します。
詳細
a および b のモジュラスは次のとおりです。
ここで floor は (a / b) を負の無限大方向に丸めます。たとえば、–8 と –3 のモジュラスは –2 ですが、–8 と 3 のモジュラスは 1 です。
b = 0 の場合は、mod(a, b) = mod(a, 0) = 0 となります。
ヒント
シンボリック オブジェクトではない数値について
modを呼び出すと、MATLAB® 関数modが呼び出されます。
バージョン履歴
R2006a より前に導入R2020b 以降、mod はシンボリック多項式の各係数のモジュラスを求めません。代わりに、mod(a,b) は、a がシンボリック多項式、b が実数の場合に未評価のシンボリック式を返します。多項式 a の各係数のモジュラスを求めるには、[c,t] = coeffs(a); sum(mod(c,b).*t) を使用します。mod を使用して周期性を定義することで、周期的なシンボリック関数を作成できるようになりました。例については、周期的なノコギリ波の作成を参照してください。
MATLAB Command
You clicked a link that corresponds to this MATLAB command:
Run the command by entering it in the MATLAB Command Window. Web browsers do not support MATLAB commands.
Web サイトの選択
Web サイトを選択すると、翻訳されたコンテンツにアクセスし、地域のイベントやサービスを確認できます。現在の位置情報に基づき、次のサイトの選択を推奨します:
また、以下のリストから Web サイトを選択することもできます。
最適なサイトパフォーマンスの取得方法
中国のサイト (中国語または英語) を選択することで、最適なサイトパフォーマンスが得られます。その他の国の MathWorks のサイトは、お客様の地域からのアクセスが最適化されていません。
南北アメリカ
- América Latina (Español)
- Canada (English)
- United States (English)
ヨーロッパ
- Belgium (English)
- Denmark (English)
- Deutschland (Deutsch)
- España (Español)
- Finland (English)
- France (Français)
- Ireland (English)
- Italia (Italiano)
- Luxembourg (English)
- Netherlands (English)
- Norway (English)
- Österreich (Deutsch)
- Portugal (English)
- Sweden (English)
- Switzerland
- United Kingdom (English)