ユーザ用ツール

サイト用ツール


numericalipa:lecture1

【数値情報処理a】第1回 Rの使い方

数値情報処理a について

数値計算とは、人間が解析的に解くのが難しかったり、解くのに時間がかかりすぎる問題をコンピュータ(計算機)に解かせることである。 コンピュータの発達に伴い、数値計算の手法も大きく発達してきた。 AI でも数値計算の手法が至るところで使われている。 本講義では R を使って数値計算の基本的な手法を学ぶ1)

  • 数の表現と誤差
  • 代数方程式
  • 数値積分
  • 乱数とモンテカルロ法
  • 数値微分

授業では RStudio を使用する。 RStudio は Web ブラウザで動作する R のIDE(統合開発環境)である。

学内の RStudio サーバにアクセスできるのは学内の環境からのみになる。

学外で RStudio を使いたい場合は、3つ方法がある。

  1. VPN 接続した後、ブラウザで学内 RStudio サーバにアクセス

学内 RStudio サーバの利用

アカウント作成

学内 RStudio サーバーはアカウントがないと使えません。

RStudio のアカウントを作成するので、「学籍番号」「氏名(カタカナ)」を書いて下のアドレスにメールを送ること。


ログイン

メールで送られるユーザ名とパスワードで学内 RStudio サーバにログインする。

ユーザ名は大学の端末にログインするときのユーザ名と同じ。


プロジェクトの作成

プロジェクト機能とは、特定の作業ディレクトリでスクリプトファイルなどを管理する機能である。

「数値情報処理a」用のプロジェクトを作成する。

  1. 右上のプロジェクトボタンをクリックして [New Project] を選ぶ、もしくはメニューの [File][New Project] を選ぶと「Create Project」のウィンドウが開く。
  2. [New Directory] を選ぶ。
  3. [New Project] を選ぶ。
  4. 「Directory name:」にプロジェクト名「数値情報処理a」を入力する(RStudio Cloud では日本語のプロジェクト名を使わない方がいいので英語でプロジェクト名を入力する)。
  5. 「Create project as subdirectory of:」 が「~」になっていなければ [Browse] をクリックして [Home] ボタンをクリックした後 [Choose] ボタンをクリックする。
  6. [Create Project] をクリックする。

これでプロジェクトが作成できる。

他の講義でこの学内 RStudio サーバを使う場合は、ファイルが混ざってごちゃごちゃにならないように講義ごとにプロジェクトを作成し、プロジェクトを切り替えて使うと良い。

別のプロジェクトの切り替えは右上のプロジェクトボタンから行う。

R と RStudio の使い方

Rのプログラム例

R で実行させるコマンドを記述するファイルをスクリプトファイルという。 プログラムでいうソースコードである。

スクリプトファイルの拡張子は .R になる。


スクリプトの作成

左上の [+] ボタンをクリックして [R Script] を選ぶ。 もしくは、メニューの [Files][New File][R Script] を選ぶ。

左上のペインに 「Untitled1」 という空のスクリプトのタブが作成される。

スクリプトのタブでフロッピーディスクのボタンをクリック(ショートカットキーは Ctrl+S)でファイルとして保存できる。

スクリプトのタブに次のコードを入力して factorial.R というファイル名で保存しよう。

factorial.R
  1. # 階乗の計算
  2. r <- 1
  3. for (x in 1 : 10) {
  4. r <- r * x
  5. }

スクリプトの実行

左上のペインのスクリプトのタブにある [Source] ボタンをクリックすることで実行できる。

factorial.R を実行するとうまくいけば以下の結果が表示される。

[1] 3628800

これは $10!$ の結果である。


スクリプトの処理

スクリプトは上から下に書いた順番に処理が行われる(順次処理)。 for などの命令があるとある条件を満たしている間、同じ処理を繰り返す(反復処理)。

上のスクリプトの具体的な処理は以下の通り。

  • 1行目:コメントなので何もしない(“#” 以降の文字はコメントとみなされる)
  • 2行目:変数 r に 1 を代入する。
  • 3行目:変数 x に 1, 2, 3, …, 10 を一つずつ代入して「{ }」の中の処理を繰り返す。
    • 4行目:変数 r に r * x の結果を代入する。
  • 6行目:変数 r を出力する。

Moodle

Moodle(ムードル)とは Web ブラウザでアクセスするオンラインの学習管理システムである。 このクラスでは皆さんが小テストを受験したり、課題を提出するために利用する。

端末や RStudio のアカウントとは異なるので注意。


Moodle にログイン

Moodle へのログインにはユーザ名とパスワードが必要である。 ユーザ名と初期パスワードはメールで配布する。 山本の他の講義で Moodle を使っていた人はそのまま使えるのでメールは送らない。

次のリンクをクリックして Moodle にログインしてみよう。

Moodle Server(非公式)

  • パスワードは10文字(以上)に
  • パスワードは大文字小文字・数字と記号を交ぜるように
  • パスワードは自分は読めるが他人は読めないものに
  • 他の場所のパスワードと使い回しをしないように

Moodle の使い方(学生編)

課題

Moodle Server(非公式)で第1回の課題を行いなさい。

締め切り:2024年4月17日(水)20時

1)
R を使うが、Ruby でも C 言語でも同じことができる。
numericalipa/lecture1.txt · 最終更新: 2024/04/10 23:54 by yuki