• ベストアンサー

C言語による楕円関数の記述

C言語で楕円関数を記述したいのですが、記述方法がわかりません。 書籍はあるのですが、「絶版」になっているので見ることが不可能です。

質問者が選んだベストアンサー

  • ベストアンサー
  • colder
  • ベストアンサー率43% (30/69)
回答No.2

「ニューメリカルレシピ・イン・シー」なら入手可能なようです。 6.11に楕円関数があります。

参考URL:
http://www.nrbook.com/a/bookcpdf.php
yf491224
質問者

お礼

やっぱり、その書籍しかないんですかね。 わかりました。 どうもありがとうございました。

その他の回答 (1)

  • jk39
  • ベストアンサー率54% (366/670)
回答No.1

楕円関数って中心点や幅、高さを与えると楕円を整数座標に描けるやつですよね。 下記を参考になさるとよいでしょう。 http://www2.starcat.ne.jp/~fussy/algo/index.htm

yf491224
質問者

補足

すみません。言葉足らずでした。 私が探しているのは、楕円を描くプログラムではなくて、 「ヤコビの楕円関数」です。記号では振幅関数(am)やsn, cn, dnといった関数です。 せっかく教えていただいたのに、申し訳ありません。

関連するQ&A

  • C言語によるガンマ関数の記述

    今、C言語を用いてガンマ関数を計算する方法を模索中でです。 理想的にはガンマ関数の引数に数値を入れたら戻り値を返すというのがいいのですがそうもうまくいかないと思います。 そこで以下のような形で整数の場合と非整数の場合で作ることを考えています。しかし、引数が整数のときはわかるのですが、非整数のときがわかりません。どうしたらよいでしょうか。 以下に関数の概要を掲載します。 ==========関数の概要=========== 関数名:Gamma(x) 戻り値:double 引数:x[double] 1)引数が0より大きい整数(1,2,3...)のとき   階乗の自己回帰文を使用して計算 2)引数が0より大きい非整数の場合 ==========▲ここまで==========

  • c言語の記述で困っています。

    c言語の記述で困っています。 USBは、メッセージベースの通信バスであるため、PCとUSBデバイスが通信を行う際は、コマンドとデータをテキストまたはバイナリ形式で送受信しています。各USBデバイスには固有のコマンドセットがあります。USBデバイスからの応答を読み取るにはRead/Write関数を使用して、それらのコマンドを計測器に送る必要があると思いますが、具体的にreadやwriteでどのようにc言語で記述したらいいのかわかりません。分かりやすいサンプルやホームページ等ありましたら教えて下さい。よろしくお願いします。 ちなみに、私が使用しているUSBデバイスのコマンドはhexです。

  • Wikipedia楕円積分・楕円関数の出典

    http://ja.wikipedia.org/wiki/楕円関数 http://ja.wikipedia.org/wiki/楕円積分 現在楕円関数、楕円積分で母数kをk↑1としたときの挙動について興味があるため色々調べています。 Wikipediaの楕円関数の項目に、『極限を考えてk = 0とすると三角関数、k = 1とすると双曲線関数が現れる。』という記述がありこれが考えていることに一番近く詳しい証明を知りたいのですが、色々楕円関数関係の本を調べてもあまり記述が出てこないので不思議です。 これの出典をご存知の方がいらっしゃったら教えていただけると助かります。また出典はご存じなくても、具体的な証明などをご存知の方がいらっしゃったらお願いします。

  • C言語 main関数とsum関数の記述順について

    はじめまして。 【苦しんで覚えるC言語】(Web版)でC言語を学んでいる初学者です。 【第1部:C言語基礎編】>【関数の作り方】>【自作関数を作る】の部分(http://9cguide.appspot.com/11-01.html#S2)でつまづいています。 下記のような、1から100までの数字の合計を表示するプログラムが例題として取り上げられています。 しかし、ここが理解できないので、次の【プロトタイプ宣言】に進めずにいます。 例題1  sum関数をmain関数の後に記述した場合(プログラムが実行されない)。 #include <stdio.h> int main(void) { return 0; } int sum(void) { printf("%d\n",(1 + 100) * 100 / 2); return 0; } 例題2  sum関数をmain関数の先に記述した場合(プログラムが実行される)。 #include <stdio.h> int sum(void) { printf("%d\n",(1 + 100) * 100 / 2); return 0; } int main(void) { return 0; } 例題1の場合、【まずmain関数を作り、次にsum関数を作りました。この場合、main関数を解析している段階では、sum関数は発見されておらず、従って、main関数の中では、sum関数を使うことは出来なくなってしまいます。】との説明がありますが理解できません。 コンパイラがどのような順番でプログラムを処理しているか理解できていないので分からないのだと思います。 例題1の場合と例題2の場合の両方について、コンパイラがどのような順番でプログラムを処理しているのかを具体的に教えてください。 どうかよろしくお願い致します。

  • PLSQLからCの関数を

    教えて頂きたい事があります。 PLSQLからC言語の関数を呼び出す事はできますでしょうか? またできる場合、どのような記述方法で書けばいいでしょか? どなたか教えて頂けませんか? よろしくお願い致します。

  • C言語の高階関数についてです。

    C言語の高階関数についてです。 double f ( (*g)(double) ){...} とすると「関数を引数にする関数」が作れますが、 「関数を引数にする関数」を引数にする関数って作れますか??? その場合は、引数のところどうやって書けばいいでしょうか??

  • C言語の関数

    C言語で、特定の文字があったらそれを削除するというような関数ってありますか?

  • C言語について

    C言語初心者です。 「かんたんC言語」という書籍で学習しております。 コマンドプロンプトでのプログラムの実行方法がよくわかりません。 教えて頂けないでしょうか?

  • C言語に関する良い書籍をさがしています

    C言語について勉強をしてまして、 良い書籍を探しております。 それと、標準ライブラリ関数について、 詳しい解説書も探しております。 おすすめできるものがございましたら 宜しくお願いします。

  • C言語の記述について

    c言語の記述について教えてください int ia=0x0F0A,ib=0x0F0F,ic; ・iaの上位8ビットを0x00にする記述を書きなさい ic = ia & 0x0f0a ・iaの上位8ビットの上位4ビットを1にする ic = ia | 0xf000 ・iaの値を全て反転する ic =ia^0xffffまたはic = ~ia; という問題なのですが、このような記述の方法でいいのでしょうか?

専門家に質問してみよう