No.3ベストアンサー
- 回答日時:
学習中である場合とする解答です。
使用パソコンは Linuxまたは Mac OSX などの UNIX系OSです。<・データの入力>
1)エディタで専用データファイルを作ることから始めます。
マトリックスは、それに対応した数値をファイル内配置します。
N
W0 W0 W0 W0 ....
W0 W1 W2 W3 ....
W0 W2 W4 W6 ....
....
N0
N1
N2
.
.
上記定義されたマトリックスを ↓のようにファイルに書き込む
仮に整数値としていますが、実数ならば実数値を書き込んで下さい。
5
0 0 0 0 ....
0 1 2 3 ....
0 2 4 6 ....
....
0
1
2
.
.
各数値間は半角スペースで区切ってそれぞれの数式定義対応マトリックスを作ります。
ファイル名は半角英字がエラーなく行えるので英字ファイル名を使うことを勧めます。
2)データの読み込み
データの入力は scanf() を使います。
最初にNを読み込めば、マトリックス行数がわかるため for() を使ってプログラムしますが、慣れない場合は腕力で scanf() 関数を連発するのもひとつの方法です。
データファイル読み込みに際しての疑問は、作成したプログラムを起動する際、ターミナルのシェルプロンプトとから
./a.out<データファイル名
と打鍵すればデータファイルを取り込むことができます。
以上をCで表すと次のようになります。scanf() はそちらで勉強して下さい。
プログラム作成に際しては、一気に書き込まず。途中で printf() を入れてデータ取り込みを確認されることを勧めます。
3)Cプログラム
/* magatai.c DFT program
* file name: magatai.c
* compile: gcc magatai.c
* execution: ./a.out<data_file
*/
#define N 10 取り込みデータ数+α
double n;
double w[N][N];
double x[N];
int main(void)
{
int i, j;
scanf(%d, &n);
for (i = 0; i < n; i++)
scanf(%......
.... ↓のフーリエ式が入る。
.... ↓↓の結果の出力が入る。
return 0;
}
<・フーリエ変換>
これは for() の入れ子になります。
for (i = 0; i < n; i++) {
for (j = 0; j < n; j++ {
フーリエ変換式;
}
}
<・結果の出力>
printf() を使います。↑のフーリエ・プログラムに続いて書きます。
for (i = 0; i < n; i++ )
printf("%f?n", x[i]);
計算結果を特定のファイルに残したいという場合は、プログラム起動の際、リダイレクトを使います。
./a.out<データファイル名>書き込むファイル名
後は、 cat などを使ってファイルをリストすれば良いでしょう。
参考URL:http://laputa.cs.shinshu-u.ac.jp/~yizawa/InfSys1 …
No.2
- 回答日時:
DFTのコードを書くのが目的ですか? それとも利用することですか?
後者なら適当なライブラリを呼び出せばいい。あなたが書くのは入出力だけです。
参考URL:http://www32.atwiki.jp/amaeda/
No.1
- 回答日時:
それって, ほとんど何も書いてないよ. およそあらゆる処理が「データの入力→適切な処理→結果の出力」なんだけど....
「DFT」がどのような処理なのかは理解できていますか?
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
関連するカテゴリからQ&Aを探す
おすすめ情報
- ・漫画をレンタルでお得に読める!
- ・14歳の自分に衝撃の事実を告げてください
- ・架空の映画のネタバレレビュー
- ・「お昼の放送」の思い出
- ・昨日見た夢を教えて下さい
- ・ちょっと先の未来クイズ第4問
- ・【大喜利】【投稿~10/21(月)】買ったばかりの自転車を分解してひと言
- ・メモのコツを教えてください!
- ・CDの保有枚数を教えてください
- ・ホテルを選ぶとき、これだけは譲れない条件TOP3は?
- ・家・車以外で、人生で一番奮発した買い物
- ・人生最悪の忘れ物
- ・【コナン30周年】嘘でしょ!?と思った○○周年を教えて【ハルヒ20周年】
- ・ハマっている「お菓子」を教えて!
- ・最近、いつ泣きましたか?
- ・夏が終わったと感じる瞬間って、どんな時?
- ・10秒目をつむったら…
- ・人生のプチ美学を教えてください!!
- ・あなたの習慣について教えてください!!
- ・牛、豚、鶏、どれか一つ食べられなくなるとしたら?
- ・都道府県穴埋めゲーム
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
VC++でUTF-8のファイルを出力し...
-
ファイル出力の場所を指定
-
C言語による10進数→16進数変換...
-
c言語の質問です。 ランダムに4...
-
CreateProcess関数と実行後の戻...
-
csvファイルでの出力について
-
C++ fprintf_sの使い方がわからん
-
Access のレポートをPDFに変換...
-
C言語での印刷方法
-
アプリケーションのログファイ...
-
シェルコマンドの 2>&1 とはど...
-
AccessVBA複数レポート条件毎に...
-
C++/CLIにて、System.String^型...
-
二次元配列をクリップボードに...
-
ファイルの文字コードをUTF-8に...
-
Accessでのレポート印刷待機方法
-
CUIプログラムにドラッグして1...
-
半年以上前のファイルの時刻表示
-
カスタマバーコードの印刷
-
コマンド(例えばls)の出力結果...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
コマンド(例えばls)の出力結果...
-
Acccess レポートをグループ別...
-
ファイル出力の場所を指定
-
VC++でUTF-8のファイルを出力し...
-
ファイル形式またはファイル拡...
-
外国語とCSVについて
-
Wordマクロで指定したフォルダ...
-
AccessVBA複数レポート条件毎に...
-
CreateProcess関数と実行後の戻...
-
pcap形式データをテキストへ抽出
-
テキストファイルに改行コード...
-
ファイル比較について
-
CSV形式に変換
-
ファイルの文字コードをUTF-8に...
-
VBSでEXCEL⇒CSV変換で日付の書...
-
VBA でメモ帳へ保存する際の保...
-
C++ fprintf_sの使い方がわからん
-
サウンド出力のデバイスを選択...
-
VB.NETでExcelファイルを出力す...
-
アクセス>マクロ>テキスト変換
おすすめ情報