サクサク読めて、アプリ限定の機能も多数!
トップへ戻る
パリ五輪
www.ics.kagoshima-u.ac.jp/~mizuno
[ index | prev | next] URL= www.ibe.kagoshima-u.ac.jp/~mizuno/sim/ 1.初めに 人は現実世界のモデルを模索してきました。しかし、モデルの振舞を シミュレーション(模擬実験)できないと正しさを確かめることも、有効に使うこともできません。例えば、万有引力の法則と呼ばれるモデルでは、数式による計算で天体観測から得られたケプラーの法則を導出でき ることから正しさを確認できます。さらに計算機を使った数値シミュレーションで人工衛星や惑星探査機の軌道予測も可能です。 短い時間や、短い距離での変化は簡単なモデルで表現できることが多いので、物理法則の多くが微分をつかった方程式の形で表現されています。このようなモデルから微小なものが 集まった大きなものの振る舞いを知るには膨大な計算が必要です。紙の上で計算できるのは、簡単に積分できる、とても条件
www.ics.kagoshima-u.ac.jp
<body> <p>このページにはフレームが使用されていますが、お使いのブラウザではサポートされていません。</p> </body>
ソフトウェア工学 UMLetによるUML図の描画 最終更新日:2011年12月19日 - 渕田孝康 この章では、フリーのモデリング開発環境である UMLet を使用してUML図の描き方を練習してみよう。 UMLetについて 入手方法およびインストール UMLetは単純な入力方式を持つオープンソースのUMLツールである。UML図をすばやく作成し、esp,pdf,jpg,svg フォーマットの図やクリップボードなどに出力したり、Eclipseと図を共有したり、新しくカスタムUML要素を作成したりできる。 UMLetはスタンドアロンとしてもEclipseのプラグインとしても実行でき、Windows,OS X およびLinux上で動作する。 UMLetはここからダウンロードできるが、情報工学科の電算機演習室で使う場合は、すでに準備してあるのでダウンロードする必要はない。電算機演習室での使用法は講義
演算子には優先順位が決められている。たとえば、乗算演算子 * と加算演算子 + では * の方が優先順位が上なので、 1 + 2 * 3 という式は 2 * 3 が先に実行され、結果は 7 となる。 優先順位が同じ演算子同士では、右に示した結合規則の方向に計算が行われる。 制御文 プログラムの流れを変化させるための文。 C言語では、以下の制御文が使える。 for 文 if 文 while 文 do while 文 switch 文 continue 文 break 文 goto 文 ラベル データ型 C言語には、次の基本データ型がある。 型 説明
www.ics.kagoshima-u.ac.jp/~fuchida
離散ボロノイ図を作成する素朴で簡単な方法は、すべての離散点について、どの母点に最も近いかを1つ1つ計算していく方法である。この方法は、離散点の数 M (=WxH) と母点数 N に比例した時間がかかるのが欠点だが、アルゴリズムは簡単である。そこで、まず手始めに全探索法のアルゴリズムを考え、これをプログラム化して離散ボロノイ図の作成実験をしてみよう。 全探索法のアルゴリズム 全探索法のアルゴリズムを、なるべく簡単な言葉で述べると、次のようになる。 N 個の母点からなる母点集合 S と、離散ボロノイ図を作成するための離散平面を準備する。 母点集合と離散平面を初期化する。 すべての離散点について、4. の処理を繰り返して 5. へ すべての母点との距離を計算し、最も距離が小さい母点の番号を、その離散点の位置に書きこむ。 結果を出力して終了 このアルゴリズムをフローチャートの形に表すと図4.1のよ
OpenGLを使うJavaプログラミング ここでは、Java言語からOpenGLを使用する基本的な方法について説明する。 JavaクラスとしてのOpenGL JavaのOpenGL関係のパッケージは、jogl.jar というJarファイルに収められている。よって、コンパイル時および実行時に、このファイルへのクラスパスが通っている必要がある。 このjogl.jarには、以下のパッケージが収容されている。 com.sun.opengl.cg com.sun.opengl.util com.sun.opengl.util.texture com.sun.opengl.util.texture.spi javax.media.opengl javax.media.opengl.glu この実験で使用するクラスは、これらのパッケージのうち、主に GL というインターフェイス
最終更新日:2009.11.26 - 渕田孝康 UML の経緯 UML は Unified Modeling Language(統一モデリング言語)の略であり、1990年代に群雄割拠していたオブジェクト指向分析・設計方法論の統一をはかって、1994年頃に Ratinal Software 社の Grady Booch と Jim Rumbaugh が活動を開始したことに端を発する。その後、方法論そのものを統一することは困難であるという見解から、まずは方法論で使用されるモデルの表記法を統一しようという方向に変化した。 その結果、1997年に、オブジェクト指向業界最大の団体である OMG(Object Management Group) によって UML1.1 が標準仕様として採択された。2003年3月段階での最新版は UML1.5 であり、このページはこれに準拠している。2008年の最新版
www.ics.kagoshima-u.ac.jp/~mutty
知能画像工学 【講義の目的】 近年,コンピュータの高速化・小型化とテレビカメラの分解能・感度向上・小型化・低価格化が 平行して進みつつあり,マシンビジョンシステムがFA・オフィス・医療・福祉など幅広い分野に 導入されるようになってきた. 本講義では,博士前期課程履修者を対象に,この基盤となる画像処理・解析技術について, 基本技術と最近の研究動向に関する説明を行う. 【キーワード】 Computer Vision,3次元画像認識,動画像処理,画像認識 【授業計画】 1. CV序論 2.CVのための画像センサ 3.CVにおけるエピポーラ幾何 4. カメラキャリブレーション 5. ステレオ視 6. 動画像処理(1):基本概念・差分処理 7. 動画像処理(2): オプティカルフロー 8. 動画
前のページの「家の絵」を描くプログラムは、確かに手順書なのですが、プログラムっぽくありませんでした。それは、架空の命令を使って書かれていたからです。 このページでは、現実のプログラム言語を使ってプログラムを書いてみましょう。使用する言語はJava言語です。 Java言語は、サン・マイクロシステムズ社という会社が開発している言語で、インターネットのホームページの中で動作するプログラムを作ることができることから、現在、爆発的に普及している言語です。Java言語には、そのほかにもたくさんの利点があり、現在、最も進んだプログラム言語のひとつだといえます。 前のページの「家の絵」を描くプログラムを、Java言語を使って書くと、どのようになるでしょうか? Java言語で、グラフィックスを描くための命令は次のようになっています。
ここでは、OpenGLの考え方、基本的な使い方などを説明する。 OpenGLの位置づけ OpenGLは、グラフィックスハードウェアに対する非依存のソフトウェアインターフェイスであり、およそ120種類のコマンドから成り立っている。OpenGLは3次元オブジェクトを描画するための上位レベルのコマンドは(ほとんど)提供しない。したがって、OpenGLを使用する場合は、描画したい3次元オブジェクトを、点や線分、多角形(ポリゴン)などのプリミティブ(基本形状)を組み合わせて作成する必要がある。 また、OpenGLはクライアント・サーバーシステムとして動作する。つまりOpenGLシステムは、描画を依頼するクライアントと、描画を実行するサーバーとに分かれている。クライアントとサーバーは通常はネットワークによって接続されているが、1台のマシン上で使用する場合は、そのマシンが両方を兼ねる。サーバーとク
言語IIではオブジェクト指向プログラミングを具体的に学ぶため、言語としてjavaを選びました。 他のオブジェクト指向言語に比べると、利用環境を選ばず何処でも使えることがjavaの特徴です。 目次 1.1 オブジェクト指向言語 1.2 Java言語発表からの経緯 1.3 WRITE ONCE, RUN ANYWHERE 1.4 javaプログラムの実行形式 [目次] 1.1 オブジェクト指向言語 構造化プログラミングは複雑なプログラムを部品に分割して,分かりやすく作る手法です。 オブジェクト指向プログラミングは部品の組み合わせや更新が容易になるようにする手法せす。 構造化で大きなプログラムが作れる ソフトウエアの行数が数十行程度のうちは計算機への命令を順番に書いただけのプログラムで十分です。従って、BASIC言語のような命令を順番に書けばプログラムになる言語が便利です。実行の流れを分岐するi
ソフトウェア工学 オブジェクト指向 最終更新日:2005.10.17 - 渕田孝康 複雑さ Brooks は、「ソフトウェアの複雑さは本質的な特性であり、偶然に生じたものではない」と述べている。つまり、ソフトウェアの開発が困難なのは、それが本質的に複雑であるからであるというのだ。Booch は、この複雑さというのは、次の4つの要素に起因すると主張する。 問題領域の複雑さ 開発プロセス管理の難しさ ソフトウェアの柔軟性 離散システムの振る舞いを特徴付ける問題 以下に、各々について簡単に述べる(Booch,1995)。 問題領域の複雑さ ソフトウェアとして解決されるべき問題そのものに、逃れられない潜在的な外部複雑性が存在する。そしてその中には互いに競合しあう、もしかすると互いに矛盾した要求が含まれていることさえある。 たとえば、ソフトウェアを発注する顧客は、これこれこういうソフトが欲しいのだと
[ prev | next | index ] 変数のデータ型 1. 基本データ型 1-1. 基本データ型の種類と値の範囲 整数、浮動小数点数、真偽値、文字などの基本的データを格納するためのデータ型。Javaで予め用意されている型でPascal,C/C++等のデータ型と同様に利用できる。Javaの基本データ型の特徴は従来のC言語にみられた様な計算機のcpuやOSに依存してint型が16ビットや32ビットになったりはしないことである。これは、Javaがどの計算機でも同じプログラムがそのまま動くことを重視しているからで、それぞれのcpuの性能を極限まで引き出すことも期待されたC言語とは対照的です。 以下に7つの基本データ型を示す。
平面上に、いくつかの点が配置されている。このとき、その平面ないの点を、どの点に最も近いかによって分割してできる図を、ボロノイ (Voronoi) 図という。また、その分割のことをボロノイ分割という。図1.1にボロノイ図の例を示す。 配置された点のことを母点と呼ぶ。この図での母点数は5であり、ボロノイ領域は5つに分かれている。一般的なボロノイ図では、母点数とボロノイ領域数は一致する。ボロノイ領域の境目の線をボロノイ境界と呼ぶ。また、ボロノイ境界の交点をボロノイ点と呼ぶ。 ボロノイ図の応用例 ボロノイ図の応用範囲は広く、情報処理のさまざまな分野で利用されている。 最も近い PHS の基地局を探す 新しい基地局をどこに作ればよいかの指標を得る 散らばったデータを、いくつかの代表データにまとめる キタキツネの勢力範囲 有限要素法の領域分割 画像のデータ圧縮 など。他にもいろいろある。 ドロネー図
[ prev | next | index ] JavaScriptを使っていますWebブラウザにはNetscape3.0以上を使って下さい。 0.telnetでのプログラム実行 PASCAL言語で書かれたプログラムの実行 1.PASCAL言語の簡単なプログラム (演習課題1) 画面に文字を表示する。 2.変数と関数の利用 (演習課題2) 変数や組込み関数の利用。 3.情報の読み込みと処理 (演習課題3) 読み込み、条件分岐 4.デ-タ型 (演習課題4) デ-タ型、列挙型、部分範囲型、定数や型の定義 5.関数と手続き (演習課題5) 関数や手続きを作る 6.ファイルの操作 (演習課題6) HDD上のテキストファイル入出力 7.演習課題集 全課題の目次と演習課題7から20までの内容 この資料に書かれていることだけではとけない課題も在ります。参考書など自分で探して挑戦しましょう。計算機が空いて
2017/06/08水野[ prev | index | next ] ERD(entity-relationship diagram):実体関連図 概念モデルの記述に使われる実体関連図(ERD) 概念設計と論理設計 初めにデータベースを作成する目的を決めておくこと。データモデルを作る過程では常に目的を意識して取捨選択しよう。 概念設計 実世界の注目する部分を抽出して、データの纏まりや関連を整理し、簡潔なモデルを作成する。利用目的から見て抜けが無いことが必要である。 ※関係ありそうなデータ項目を何でも入れたモデルにしようとすると、切りがない。データベースを作る目的に応じて判断しよう。 誰が見ても理解できることも重要。他者の理解を可能にするには、モデルをどの様に記述するか共通の枠組みが必要になる。ER図が良く使われる。 ER図 データは互いに関係を持っているので幾つかの纏まりに切り分けて整理
知識工学 【講義の目的】 人工知能技術の具体的な応用である,エキスパートシステム,自然言語処理,画像理解システム, およびこれらの基礎技術である,知識表現,推論,学習,問題解決技術などについて解説する. 【キーワード】 エキスパートシステム 知識表現・推論技術 自然言語・画像理解 分散人工知能 【授業計画】 1.序論 2.知識工学の流れ 3. 知識表現(1) 4.知識表現(2) 5. 推論(1) 6. 推論(2) 7.エキスパートシステム(1) 8. エキスパートシステム(2) 9. エキスパートシステム(3) 10.問題解決 11.計画 12.学習 13. 自然言語処理 14.画像理解 15.分散人工知能 【2
[ next | prev | index] 9.計算時間を計る 9-1 HelloWorld 9-2 まずは動かしてみよう 9-3 プログラム作成と実行の手順 9-4 計算時間を測る(実験課題) 9-5 考察課題 10.ソートのアルゴリズムと計算時間 10-1はじめに 10-2ソートアルゴリズムと計算時間 10-3考察課題 11.計算誤差と数値計算法 11-1 丸め誤差 11-2 打切り誤差 11-3 数値積分法 11-4 無限級数和の近似計算法 11-5 考察課題 12.連立1次方程式 12-1 連立1次方程式 12-2 Gaussの消去法 12-3 LU分解による方法 12-4 反復による解法 12-5 考察課題 レポート提出について レポートは実験終了後1週間以内に提出を完了していること。 レポート
1.Emacsの起動 % emacs [ファイル名] 2.Emacsの終了 -x -c 3.テキストの保存 テキストの保存 -x -s 別名を付けてファイルを保存するには -x -w 4.マークとリージョン(領域) マークの設定 マークを設定したい場所にカーソルを動かし、 -@ または - リージョン(領域)の削除 (カット&ペーストを行いたいとき) 削除したい場所までカーソルを動かし、-w リージョン(領域)のコピー マークの設定後、コピーしたい場所までカーソルを動かし、-w を押すと、リージョンの内容がバッファにコピーされる。 リージョン(領域)のヤンク(貼り付け) カーソルをコピー(貼り付け)したい場所まで動かす。 -y を押すとバッファの内容が その場所にコピーされる。 5.テキストの削除 1文字削除 -d 1行削除 -k 6.操作のキャンセル 操作を途中でやめたいとき -g 例え
教育関連の目次 最終更新:2019年06月22日(加藤) Moodle: eラーニングシステム 専門教育用 Moodle [運用:情報生体システム工学科 scで始まるアカウント] 共通教育用 manaba(マナバ) [運用:鹿児島大学 kで始まるアカウント] 共通教育 情報活用 1年前期 ※平成30年度から共通教育では工学英語が開講されません。 平成27年度入学生およびそれ以前に入学した学生は、共通教育科目の「工学英語」として専門教育科目の 必修科目である「システム工学英語II」を受講して、 単位を読み替えます。 ただし、履修申請は、旧科目名である共通教育科目の「工学英語」を登録して下さい。 標準履修課程表(学部) 【平成31年度以前の入学生】 ※最新の情報は、 工学部シラバス で確認して下さい。 情報生体システム工学科で開講されている講義や演習、実験、体験講義などの情報を載せています。
ヒープ構造とは、簡単に言うと、2分木の各節点にデータを保持し、親のデータが2つの子のデータよりも小さくなるように作られたデータ構造です。すべてのデータの中で、木の根のデータがもっとも小さいことが保障されますから、最小値データを取り出すことや、データの追加が最悪でも log(N) 時間で行えるという、優れた特徴があります。 ヒープソートの基本的な考え方は、与えられたデータを順にヒープ構造に追加して行き、すべてのデータを追加し終わったら根から取り出すと言うものです。 ヒープ構造は、もっとも小さいデータが常に根にあることが特徴です。したがって、すべてのデータをヒープに追加してから、根から順に取り出せば、小さい順にデータを取り出すことが可能です。ただし、データの追加や取り出しのときは、ヒープ構造が壊れないように注意しなければなりません。 ヒープにデータを追加するときは、まず木構造の最後に追加します
最終更新日:2006.10.19 - 渕田孝康 ソフトウェアのライフサイクル 一般に、ソフトウェアには次のようなサイクルがあるといわれる。 PM-図1 ソフトウェアの開発には時間がかかるものであり、以前のソフトを改良しつつ使いまわすケースが多い。要求が発生してからソフトウェアが作成され、何年かに渡って修正や改良を繰り返し、最後に廃棄されるまでの過程をソフトウェアのライフサイクルと呼ぶ。 ライフサイクルの各工程について簡単に述べる。 要求分析 発注者(顧客)がそのソフトウェアを使って行いたいこと(業務)を明確にし、ソフトウェアが満たすべき機能を決定する。 システム設計 要求をどのようにして機能として実現するかを決定する。この段階で利用者とシステムの情報交換の方法(ユーザーインターフェイス)を決定することが多い。 プログラム設計 機能をどのようにプログラムで実現するかを決定する。複雑なソフトウ
ソートアルゴリズムの最後を飾るのは、やはりクリックソートです。 クイックソートは、データの比較と交換回数が非常に少ないのが特徴で、一般的なばらばらデータ(ランダムに散らばっているデータ)に対して、最も効率良く並べ替えを実行します。 クイックソートは、実用上もっとも高速であるとされている並べ替えアルゴリズムで、多くのプログラムで利用されています。 ばらばらなデータが格納された配列 a[ ] が与えられた場合に、それらをクイックソートで並べ替える手順を、下の図に示します。 まず始めに、「軸要素」と呼ばれるデータ値を決定します。この値は、データ全体を2つに分割するときのしきい値として使われます。軸要素は、分割が均等に行われるように選ぶのが望ましいのですが、その選択に時間をかけると、かえって並べ替えの時間を大きくしてしまいます。一般には、次のような方法がよく用いられているようです。 データの先頭の
最終更新日:2007年10月12日(渕田) 導言 コンピュータの性能が向上するにつれて、3次元空間をスクリーン上に表現する技術は飛躍的に向上し、いまや3Dグラフィックスはゲームや映画で現実・非現実を問わずリアルに表現可能な手法として実用的に利用されている。 しかしながらこれらの技術は、行列演算を基本とする座標変換と光線追跡によるレンダリングやシェーディングといった古典的な基礎に立脚しており、それらの基礎を学ぶことが3次元グラフィックスの最初の一歩となる。このような基本的な3次元描画をサポートするライブラリとして、大きく次の2つのライブラリがある。 OpenGL Direct3D 前者のOpenGLは、シリコングラフィックス社が開発したグラフィックライブラリ "GL" を拡張して誰でも自由に使えるようにしたフリーのグラフィックスライブラリであり、さまざまなプラットフォームで利
※intが何ビットかは定められていません。計算機のCPUが最も効率的に扱える長さに対応することが多いようです。現在のパソコンでは4バイトがほとんどですが、昔の機種やOSでは2バイトの場合もあります。 実数は符合ビット、指数部、仮数部の3つの部分に分けてメモリー上に表現されます。このため上限下限は指数部のビット長で有効桁数は仮数部のビット長で決まります。 実数=符合ビット×仮数部×B指数部 C言語の実数型はdoubleとfloatの2種類があり多くは double 8バイト長 float 4バイト長 です。 (2)機械精度(machine accuracy) 機械εと言うことも多い。実数で1.0+εmが1.0と区別きる最小のεmの値です。これは上記の仮数部のビット長で決まります。従って実数の有効桁数の目安として重要です。下記のプログラムで調べて下さい。このプログラムでは仮数
下のアプレットは、6種類すべてのソートアルゴリズムを同時に実行するものです。 左上から右へ、バブルソート、バケットソート、基数ソート、ヒープソート、マージソート、クイックソートです。 "Start" ボタンを押すと、すべてのソートが同時開始されます。クイックソートがもっとも速く並べ終わり、次にバケットソート、基数ソートの順で並べ終わるのがわかります。 データ数や初期並びを変えて、いろいろなデータで試してみましょう。 アプレットの並べ替えプログラムは、人間の眼で見て並べ替えの様子がわかりやすいように、データの交換が起こるたびに wait を入れて速度を遅くして表示しています。しかし、この方法では、データの交換以外に要する時間はほとんど無視されることになり、正確な意味で正しい比較をしていることにはなりません。 そこで、wait を入れずに並べ替えを行うプログラムを作成し、いろいろな個数のデータ
いろいろなソートアルゴリズム 大小関係が定められたたくさんのデータを、小さい順(昇順)あるいは大きい順(降順)に並べ替える作業をソート(整列)と言います。この処理は、さまざまなプログラムの中で頻繁に使われ、そのゆえ、古くからいろいろなアルゴリズムが考案されてきました。 並べ替えは、主にデータベースなどの大量のデータを処理する必要のあるプログラムで有用です。試験の点数の高い順番に並べ替えて、上位1000人を合格にするなどの場合は、点数による並べ替えが行われます。また、住所録のデータを住所毎にまとめて参照したい場合は、住所(文字列)による並べ替えが行われます。 このページでは、多くあるソートアルゴリズムのうち、以下の6通りのアルゴリズムについて説明し、Javaアプレットで実際の並べ替えの様子を見て、その特徴を理解することにします。 バブルソート バケットソート(ビンソート) 基数ソート ヒープ
あらかじめ整列してある2つの配列を合体させて、新しい、整列された配列を得るのは容易です。マージソートはこれに着目して、並べ替えたい配列を再帰的に分割していき、再び併合(マージ)していくことで、並び替えを実現しようとする、ソートアルゴリズムです。 次の図は、マージソートが行われる過程を表しています。 ばらばらな順番で与えられた配列データは、まず始めに小さい配列へと分解されます。このとき、マージソートでは各配列がほぼ2分割されるように分解していきます。 もっとも小さい配列(要素数1)まで分解されたら、それを順序良く併合していきます。このとき、2つの配列の先頭から小さい方を取り出して新しい配列を作成するようにすれば、取り出すだけで整列された配列を作成することができます。 /* * マージ * 2つの配列a1[]とa2[]を併合してa[]を作ります。 */ void merge(int[] a1,
次のページ
このページを最初にブックマークしてみませんか?
『鹿児島大学工学部|情報生体システム工学科・大学院情報生体システム工学専攻』の新着エントリーを見る
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く