Main Content

ライブ エディターを使用した対話型コース資料の作成

授業でライブ スクリプトを使用する方法の例を以下に示します。この例では、以下の操作方法を説明します。

  • 基本となる計算を説明する数式を追加する。

  • MATLAB® コードの個々のセクションを実行する。

  • 可視化のためにプロットを含める。

  • リンクとイメージを使用してサポート情報を提供する。

  • MATLAB コードを対話形式で試行する。

  • 他の例で概念を補強する。

  • 課題にライブ スクリプトを使用する。

1 の n 乗根の計算結果は?

教える概念の基本となる計算を説明する数式を追加します。数式を追加するには、[挿入] タブに移動し、[式] ボタンをクリックします。次に、[式] タブ内で記号と構造体を選択します。

ここでは、1 の根の計算について説明します。1 の n 乗根の計算結果は? 1 の n 乗根とは、方程式 xn1=0 の解です。

平方根の場合は簡単です。値は x=±1=±1 です。高次の根の場合は、若干難しくなります。1 の 3 乗根を計算するには、方程式 x31=0 を解かなければなりません。この数式を因数分解すると、次が得られます。

(x1)(x2+x+1)=0.

したがって、最初の 3 乗根は 1 です。次に、二次方程式の解の公式を使用して、2 番目および 3 番目の 3 乗根を得ることができます。

x=b±b24ac2a

3 乗根の計算

MATLAB コードの個々のセクションを実行するには、[ライブ エディター] タブに移動し、[セクションの実行] ボタンをクリックします。出力が、その作成元のコードとともに表示されます。[セクション区切り] ボタンを使用してセクションを作成します。

この例では、ab および c がすべて 1 になっています。他の 2 つの根は次の式で計算されます。

a = 1 ; b = 1 ; c = 1;
roots = [];
roots(1) = 1;
roots(2) = (-b + sqrt(b^2 - 4*a*c))/(2*a);    % Use the quadratic formula
roots(3) = (-b - sqrt(b^2 - 4*a*c))/(2*a);

したがって、1 の 3 乗根の完全なセットは次のようになります。

disp(roots')
   1.0000 + 0.0000i
  -0.5000 - 0.8660i
  -0.5000 + 0.8660i

複素平面での根の表示

ライブ エディターにプロットを含めて、学生が重要な概念を視覚的に理解できるようにします。

複素平面で根を可視化してそれらの場所を確認することができます。

range = 0:0.01:2*pi;                              
plot(cos(range),sin(range),'k')                % Plot the unit circle                 
axis square; box off
ax = gca;
ax.XAxisLocation = 'origin';
ax.YAxisLocation = 'origin';
hold on
plot(real(roots), imag(roots), 'ro')           % Plot the roots

高次の根の計算

サポート情報を追加するには、[挿入] タブに移動し、[ハイパーリンク] ボタンと [イメージ] ボタンをクリックします。学生はサポート情報を使用して、講義で取り上げられたトピックについて授業以外の時間に調べることができます。

n=3 を超えると、さらに難しくなります。4 乗根の場合、1540 年に Lodovico Ferrari によって発見された 4 次方程式の解の公式を使用できます。しかし、この公式は長くて扱いにくいため、4 乗根を超える根の計算には役立ちません。幸いにも、これよりもよい方法が 17 世紀のフランスの数学者 Abraham de Moivre によって発見されています。

Abraham de Moivre は 1667 年 5 月 26 日にシャンパーニュ地方のビトリで生まれました。Isaac Newton、Edmund Halley、James Stirling と同時代に生き、彼らと親交がありました。https://en.wikipedia.org/wiki/Abraham_de_Moivre

de Moivre は、複素数と三角関数を関連付けるドモアブルの定理と、正規分布と確率論に関する研究でよく知られています。De Moivre は確率論に関する著書『The Doctrine of Chances』を執筆しました。この本はギャンブラー達に高く評価されています。De Moivre は最初にビネの公式を発見しました。これは、黄金比 φn 乗を n 番目のフィボナッチ数に関連付けるフィボナッチ数列を表す閉形式です。また彼は、はじめて確率論の基礎である中心極限定理を主張しました。

ドモアブルの定理は、任意の実数 x と任意の整数 n について次のように述べています。

(cosx+isinx)n=cos(nx)+isin(nx).

これは問題を解くのにどのように役立つのでしょうか。整数 k では次のようになることもわかっています。

1=cos(2kπ)+isin(2kπ).

したがって、ドモアブルの定理では、次が得られます。

11/n=(cos(2kπ)+isin(2kπ))1/n=cos(2kπn)+isin(2kπn).

1 の n 乗根の計算

ライブ エディターを使用して MATLAB コードを対話形式で試します。コントロールを追加して、重要なパラメーターが解析に与える影響を学生に示します。コントロールを追加するには、[ライブ エディター] タブに移動し、[コントロール] ボタンをクリックして使用可能なオプションから選択します。

この最後の数式を使用して 1 の n 乗根を計算します。たとえば、n の任意の値について、上記の式で k=0n1 の値を使用できます。次の MATLAB コードを使用して n のさまざまな値を試すことができます。

n = 6;
roots = zeros(1, n);
for k = 0:n-1
    roots(k+1) = cos(2*k*pi/n) + 1i*sin(2*k*pi/n);    % Calculate the roots
end
disp(roots')
   1.0000 + 0.0000i
   0.5000 - 0.8660i
  -0.5000 - 0.8660i
  -1.0000 - 0.0000i
  -0.5000 + 0.8660i
   0.5000 + 0.8660i

複素平面に根をプロットすると、根は 2π/n の間隔で単位円上に等間隔で配置されることがわかります。

cla
plot(cos(range),sin(range),'k')                   % Plot the unit circle
hold on
plot(real(roots),imag(roots),'ro')              % Plot the roots

-1、i、および -i の n 乗根の計算

重要な概念を補強するために追加の例を使用します。講義中にコードを変更して、質問に答えたり、知識をさらに深く掘り下げます。

上記で説明したアプローチを拡張するだけで、-1、i および -i の根を計算できます。単位円を見ると、1、i、-1、-i の値がそれぞれ 0π/2π3π/2 の角度に現れることがわかります。

r = ones(1,4);
theta = [0 pi/2 pi 3*pi/2];
[x,y] = pol2cart(theta,r);
cla
plot(cos(range),sin(range),'k')           % Plot the unit circle
hold on
plot(x, y, 'ro')                          % Plot the values of 1, i, -1, and -i
text(x(1)+0.05,y(1),'1')                  % Add text labels
text(x(2),y(2)+0.1,'i')
text(x(3)-0.1,y(3),'-1')
text(x(4)-0.02,y(4)-0.1,'-i')

これがわかれば、i に対して次の式を記述できます。

i=cos((2k+1/2)π)+isin((2k+1/2)π).

両辺の n 乗根を求めると、次のようになります。

i1/n=(cos((2k+1/2)π)+isin((2k+1/2)π))1/n

これで、ドモアブルの定理により次の式が得られます。

i1/n=(cos((2k+1/2)π)+isin((2k+1/2)π))1/n=cos((2k+1/2)πn)+isin((2k+1/2)πn).

宿題

ライブ スクリプトを課題の基礎として使用します。学生に講義で使用したライブ スクリプトを提示して、教材の理解度をテストする演習を解かせます。

上記で説明した手法を使用して、以下の演習を行います。

演習 1: i の 3 つの 3 乗根を計算する MATLAB コードを作成してください。

% Put your code here

演習 2: -1 の 5 つの 5 乗根を計算する MATLAB コードを作成してください。

% Put your code here

演習 3: 任意の複素数の n 乗根を計算するために使用する数学的アプローチを説明してください。アプローチで使用した数式を含めてください。

(ここにアプローチを記述してください。)

関連するトピック