f(x)=x^2+y^2のD={(x,y):1≦x^2+y^2≦2、0≦y≦x}
の二重積分で
極座標変換を使うと思うのですがrとθの積分領域をどのように定めればいいのでしょうか?
考え方がわからないので考え方を教えていただけると幸いです。

A 回答 (4件)

#3はミスしました。


無視してください。
再度訂正して掲載します。

問題1
f(x)=x^2+y^2のとき、積分領域D={(x,y):1≦x^2+y^2≦2、0≦y≦x}
とき、
次の二重積分を極座標変換で求めよ。
-----------------------------------
積分領域は半径√2の円とy=xで切り取られる下半分の
領域である。
V=∫∫f(x)dxdy 
=∫∫(x^2+y^2)dxdy 

極座標変換をする
1≦r≦√2
x=rcosθ
y=rsinθ
|J|=r
dxdy=rdrdθ

変換後の積分領域
1≦r≦√2
-3π/4≦θ≦π/4
はグラフ図より明らかです。

V=∫∫(r^2)rdrdθ
=∫∫(r^3)drdθ
=∫dθ∫(1/4)(r^4)[r=1、r=√2]
=∫[-3π/4、π/4]・(3/4) dθ
=(3/4)π
    • good
    • 0

問題1


f(x)=x^2+y^2のとき、積分領域D={(x,y):1≦x^2+y^2≦2、0≦y≦x}
とき、
次の二重積分を極座標変換で求めよ。
-----------------------------------
積分領域は半径√2の円とy=xで切り取られる下半分の
領域である。
V=∫∫f(x)dxdy 
=∫∫(x^2+y^2)dxdy 

極座標変換をする
r=√2
x=rcosθ
y=rsinθ
|J|=r
dxdy=rdrdθ

変換後の積分領域
r=√2
-3π/4≦θ≦π/4
はグラフ図より明らかです。

V=∫∫(r^2)rdrdθ
=∫∫(r^3)drdθ
=∫dθ∫(1/4)(r^4)[r=0、r=√2]

=∫[-3π/4、π/4]・1 dθ
=π
    • good
    • 0

#1です。


A#1の補足の質問の回答

-π≦θ<πの範囲で
0≦sinθ≦cosθ
となるθの範囲を求めるには
y=sinθとy=cosθのグラフ(概形でいいです)を重ねて描いて
y=cosθのグラフがy=sinθのグラフより上部(交点を含む)にくる
θの範囲を求めれば
-3π/4≦θ≦π/4
であることは簡単にわかるかと思います。
範囲が1つにつながっていますので積分を分割しないですみます。

最初のθの範囲を 0≦θ<2π で考えた場合は
同様にグラフを描いてθの範囲を求めると
0≦θ≦π/4 および 5π/4≦θ≦2π
と積分領域が2つに分かれて、積分を2つに分割して実行せねばならず
こちらのθの範囲を使わない方が無難でしょう。
(もちろん積分は正しく出来ますが、積分が煩雑になるだけです。)
    • good
    • 0

> rとθの積分領域をどのように定めればいいのでしょうか?


Dの中の式で極座標の変換式を代入すればr,θの積分領域が決まります。
その際、r≧0,-π≦θ<π(または0≦θ<2π)であることを忘れないこと。

1≦r^2≦2 → 1≦r≦√2
0≦sinθ≦cosθ → -3π/4≦θ≦π/4
なので
変換後の領域は
D'={(r,θ)|1≦r≦√2,-3π/4≦θ≦π/4}

注意)このサイトのルールでは、質問者さんの考えた案(分かる範囲の解答)を書いて、行き詰ったところだけ質問することになっています。

質問を継続する場合は、補足に質問者さんのやった解答の過程を書いた上で質問して下さい。自力解答が出来る上がるまでやったことを書いて補足質問して下さい。

この回答への補足

rについては解答者さんのように求めたのですがθについてがわからず
私は図を書いて0≦θ≦π/4としたのですが本来はどのようにθを決定するのか
分からずに質問しました。
加えて質問なのですがなぜ
0≦sinθ≦cosθ → -3π/4≦θ≦π/4
となるのでしょうか?
無知ですいません。

補足日時:2009/02/27 11:20
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aを見た人が検索しているワード

このQ&Aと関連する良く見られている質問

Q文字列型の一般的な変数名は?

おはようございます。

サンプルコードで
数値型の変数名は
Dim i As Long
のようにiをよく見かけます。

ただ、私が勉強不足のため
文字列型の変数名の一般的な文字に何が使われているのかわかりません。
(str?moji?など?)

サンプルコードを書くときに使用する
文字列型の変数名を教えてください!

Aベストアンサー

こんにちは。私の場合は自己流ですが、ネットなど見て他の方を
参考にして今日に至っています。

ルールは簡単で変数に何を(何の型)格納するかによって変えています。
・長整数の数字を格納する場合:Dim lngXXX as Long
・文字列を格納する場合:Dim strXXX as String
・ワークシートを格納する場合:Dim Wsh as WorkSheet

などです。「変数の型」を「変数の名前」に使います。
これで時間が経過した後にプログラムを読み返した時に
思い出しの助けとなります。
「XXX」の部分も同様で変数を使う目的の名前を含ませると、
後で読んだときにさらに助けになると思います。
例えばString型で何からの「名前」を格納するときには
Dim strName as String
などXXX→Nameとすると可読性が上がると思います。
他の方の回答でもあるように日本語の変数は使わないように
しています。

なお、変数名でアルファベット大文字、小文字混在を使うことで
変数を入力時にすべて小文字で入力したときに変数を打ち間違えていると
気づきやすくなりこれも小さい便利です。

こんにちは。私の場合は自己流ですが、ネットなど見て他の方を
参考にして今日に至っています。

ルールは簡単で変数に何を(何の型)格納するかによって変えています。
・長整数の数字を格納する場合:Dim lngXXX as Long
・文字列を格納する場合:Dim strXXX as String
・ワークシートを格納する場合:Dim Wsh as WorkSheet

などです。「変数の型」を「変数の名前」に使います。
これで時間が経過した後にプログラムを読み返した時に
思い出しの助けとなります。
「XXX」の部分も同様で変数を使う目的...続きを読む

Q∫∫【D】2x|y|dxdy, D={x^2+y^2≦1,x^2+y^2≦2x}

∫∫【D】2x|y|dxdy, D={x^2+y^2≦1,x^2+y^2≦2x}
という重積分について質問です。∫∫【D】2x|y|dxdyと∫∫【D】2xydxdyってどう違いますか?

この場合では、領域がx軸に関して対称だから、前者の場合も後者の場合もたまたま答えが同じになるけれど、理屈としては、y座標が負になっている部分をx軸に関して折り曲げた結果として、図形がx軸に関して対称だったために、y座標が正の部分を2倍することになったと考えればよいのでしょうか?
言葉が下手で、伝わりにくい文章ですみません。

Aベストアンサー

>この場合では、領域がx軸に関して対称だから、前者の場合も後者の場合もたまたま答えが同じになるけれど

本当にそうなります?
2xyはyについて奇関数、2x|y|はyについて偶関数です。
前者をx軸について対称な領域で積分すると"0"に、後者を同じ領域で積分するとx軸よりも上側の領域での積分の2倍になります。

Q【Java】参照型で宣言された変数名の抽出

現在、Javaを学習中の大学生です。

Javaのソースコードを解析し、その中で宣言されている変数名を抽出して、
変数表のようなものを作成するJavaプログラムを書いているのですが、
参照型(クラス型)で宣言されている変数名を抽出する方法が思いつきません。
よろしければ、何かアイディアをいただけないでしょうか。

プリミティブ型の変数については、StreamTokenizerクラスを利用しています。
コードをトークンに分解して、型名の次に来るワードトークンを変数名として抽出
するという、単純な方法を使っています。こちらも、改良すべき点などあれば、
アドバイスいただけるとありがたいです。

デバッガを使えば出来ないことはないようですが、
出来ればデバッガは使わない方法でお願いします。

Aベストアンサー

ひとまず
>コードをトークンに分解して、型名の次に来るワードトークンを変数名として抽出
この方法だとローカル変数も抽出してしまうと思いますが
ローカル変数も抽出の対象にするんでしょうか?

ローカル変数を対象としないなら、alice_asahina様の回答にある様にリフレクションが楽でしょう。
ただし、その場合は抽出元がソースコードでは無くクラスファイルになる事に注意して下さい。

あくまでソースコードを対象として処理するのであれば、
>コードをトークンに分解して、型名の次に来るワードトークンを変数名として抽出
でしなければならない事の概要としては間違っていないと思いますが、
実装の上ではjavaがフリーフォーマットである事に注意して下さい。
型名の途中にホワイトスペースが挟まる事はありませんが、配列の場合こんな書き方も出来ますので。

int a
[
];

また、その際にローカル変数を抽出の対象にしないのであれば、
更に宣言スコープ等を考慮する必要が出てきますし、
これに内部クラスや匿名クラスのフィールドも混ざってくると非常にややこしい事になると思いますが、不可能ではありません。
がんばってください。

ひとまず
>コードをトークンに分解して、型名の次に来るワードトークンを変数名として抽出
この方法だとローカル変数も抽出してしまうと思いますが
ローカル変数も抽出の対象にするんでしょうか?

ローカル変数を対象としないなら、alice_asahina様の回答にある様にリフレクションが楽でしょう。
ただし、その場合は抽出元がソースコードでは無くクラスファイルになる事に注意して下さい。

あくまでソースコードを対象として処理するのであれば、
>コードをトークンに分解して、型名の次に来るワードトークン...続きを読む

QX-Y平面の領域D={(x,y)|0≦x≦1,x-1≦y≦x+1}を、

X-Y平面の領域D={(x,y)|0≦x≦1,x-1≦y≦x+1}を、x/y=u,y=vとして、U-V平面での領域で表したいのですが、どうにもできません。誰か教えてください。

Aベストアンサー

定義域をどう変換したら良いかわからないという意味の質問と捉えるならば、(<、>の下の等号は省略)
0<x<1 より両辺を足したり引いたりすれば、
1<x+1<2
-1<x-1<0
よってx-1<y<x+1 は -1<y<2 となり、 -1<v<2
また、x/y=uより0<x<1は0<uy<1
これから両辺に(題意としてy=v=0は定義されないので)1/yを掛ければ
0<u<1/y=1/v となりvの定義域から1/vの定義域の上限は無限大なので
0<uのみとなる。
結果、-1<v<2、0<uが領域の変換後の回答です。


 

QC言語のfloat型変数の値代入と表示について

float型変数の値代入と表示について質問があります。

#include <stdio.h>

int main(void)
{
 float flVal = 50.456;
 printf("float型変数:%f", flVal);
 return 0;
}

上記を実行すると、「float型変数:50.456001」と表示されました。
また、float flVal = 50.1; と変えて実行すると、「float型変数:50.099998」と表示されました。

それぞれ期待していた結果は、
「float型変数:50.456000」、「float型変数:50.100000」だったのですが
代入した値と結果が微妙に異なる理由は何でしょうか。よろしくお願いします。

Aベストアンサー

IBMのページから
http://www-06.ibm.com/jp/domino04/lotus/support/faqs/faqs.nsf/all/729933
基本的に小数点以下の数値を含むものは(0.5,0.25、0.125などを除き)、誤差が生じるため。

実際の浮動小数点演算プログラムでは、許容できる範囲であれば一致しているとみなして処理を行うことが多い。

irb(rubyの対話型インタプリタ)やpythonのプロンプトで
irb> 0.1 +0.2 == 0.3 (Enter) とすると
falseが返る。

金額計算などでは単位未満(日本での銭単位とか)を扱う場合はこれでは困るので、小数点以下でも有効桁数内では誤差が生じない固定小数点型が用いられる。

COBOLが何のかんのと言われながら、勘定系取引でシェアが高かったのも基本が固定小数点型を採用していた事が大きい

SQLでも整数型、浮動小数点型、固定小数点型みんなあります。
(Oracleは長いこと、固定小数点型で全部こなしてましたが)

JavaではBigDecimalクラスが固定小数点です。ただ、Java演算子のオーバーロードが出来ないので、いちいちadd、sub、multiply、divideメソッドを使わなければならないのがちょっと面倒。

.Net Framwork( VB.NET、C# )のdecimalクラスの方が直感的かもしれない。

ちなみにrubyにもあります。
http://www.ruby-lang.org/ja/man/html/BigDecimal.html

IBMのページから
http://www-06.ibm.com/jp/domino04/lotus/support/faqs/faqs.nsf/all/729933
基本的に小数点以下の数値を含むものは(0.5,0.25、0.125などを除き)、誤差が生じるため。

実際の浮動小数点演算プログラムでは、許容できる範囲であれば一致しているとみなして処理を行うことが多い。

irb(rubyの対話型インタプリタ)やpythonのプロンプトで
irb> 0.1 +0.2 == 0.3 (Enter) とすると
falseが返る。

金額計算などでは単位未満(日本での銭単位とか)を扱う場合はこれでは困るので、小数点以下でも...続きを読む

Qx^2+y^2=4{(x-9)^2+y^2}

x^2+y^2=4{(x-9)^2+y^2}
これを整理すると
x^2+y^2-24x+108=0
だそうです。
何回やってもこの整理された答えにならないので、途中の詳しい流れを教えてください。

蛇足かもしれませんが、二点間の距離の比の軌跡を求める問題のとある部分です。

Aベストアンサー

「何回やってもこの整理された答えにならない」というのなら,その自分でやったのを開示してどこが間違っているかを聞くのが,こういうところでの作法です。

Q 日付型なら変数の先頭になんてつけてますか?

変数名で、
文字列型なら
Dim str組織名 As String
数値型なら
Dim intNo As Long
としてるのですが、
日付型なら変数の先頭になんてつけてますか?

Dim date月日 As Date
にしようかなと思ったのですが
なんかくどいかなって感じます。

Aベストアンサー

 ご質問のカテゴリが [デジタルライフ] - [ソフトウェア] - [Office系ソフト] ですので「VBA(Visual Basic for Applications)」でのお話しとして回答いたします。

 Office 系の解説で有名な「インストラクターのネタ帳」に
●変数のプレフィックス一覧
http://www.relief.jp/itnote/archives/001268.php
というページがありますが、ここに、

'-- ここから引用------------------------------------------------------
対象:Visual Basic for Applications

変数名にデータ型がわかるようなプレフィックス(プリフィックス)をつける記述スタイルがありますが、どのデータ型のときにどんなプレフィックスをつけるか、Microsoftのサイトを元に一覧にまとめておきます。
'-- ここまで引用------------------------------------------------------
として、
データ型/プレフィックス/変数の例
文字列型 (String)/str/strFName
日付型 (Date)/dtm/dtmStart
のように掲載されています。

 ちなみに、上記ページにある論拠としての「Microsoftのサイト」ですが、リンク切れになっておりますので、こちらをご覧ください。
http://web.archive.org/web/20050309034601/http://www.microsoft.com/japan/developer/library/VBCon98/vbconconstantvariablenamingconventions.htm

 ご質問のカテゴリが [デジタルライフ] - [ソフトウェア] - [Office系ソフト] ですので「VBA(Visual Basic for Applications)」でのお話しとして回答いたします。

 Office 系の解説で有名な「インストラクターのネタ帳」に
●変数のプレフィックス一覧
http://www.relief.jp/itnote/archives/001268.php
というページがありますが、ここに、

'-- ここから引用------------------------------------------------------
対象:Visual Basic for Applications

変数名にデータ型がわかるようなプレフィックス...続きを読む

Qexp{L[1]x+L[2]x^2/2+L[3]x^3/3+…}=F[1]+F[2]x+F[3]x^2+…

フィボナッチ数列F[n]は、
F[1]=1,F[2]=1,F[n+2]=F[n+1]+F[n]
で定義され、リュカ数列L[n]は、
L[1]=1,L[2]=3,L[n+2]=L[n+1]+L[n]
で定義されます。このとき、

exp{L[1]x+L[2]x^2/2+L[3]x^3/3+…}=F[1]+F[2]x+F[3]x^2+…

が成り立つそうなのですが、どうしてなのですか?

右辺は、フィボナッチ数列の母関数と似ていてなんとか求められるのですが、左辺をどうして求めていいかわかりません。

なお、式は
http://mathworld.wolfram.com/FibonacciNumber.html
の(68)を参照しました。

Aベストアンサー

↓ここに証明がありますね。
http://maths.dur.ac.uk/~dma0rcj/PED/fib.pdf
(2.7 A surprising sum を見てください。)

参考URL:http://maths.dur.ac.uk/~dma0rcj/PED/fib.pdf

Q変数の型を定義しなかった場合どうなりますか?

現在、VBAを使ってプログラミングを行っているところなのですが、
一般的に、プログラムの最初で変数に対してintegerやlongといった型を定義してから使うというように教わりますが、このように型を定義しなくとも使うことが出来ます。もし定義しなかった場合、その変数の型は何に設定されているのでしょうか?
では型を定義するメリット及び、せずに使った場合のデメリットは何なのでしょうか?

私が使っているのはVBAですが、他の言語では型を定義しなければ、その変数を使うことが出来ないというようなものもあるのでしょうか?

Aベストアンサー

こんばんは。

>一般的に、プログラムの最初で変数に対してintegerやlongといった型を定義してから使うというように教わりますが、

もし、入門者に対して、そのようなことを言う人は、経験のあるインストラクターではないと思います。有名な教本などには、そのようなことは書かれていないはずです。

変数を使う時の問題点をあえて書かせていただきます。

私は、今のところ、VBA専門の回答をしていますが、VBAの入門レベルの人は、変数のデータ型を宣言すると、初心者には分からないエラーが時々出るようになります。入門レベルでは、宣言するというのは、入力間違いを減らすために、モジュールの先頭に、Option Explicit と入れ、プロシージャ内で単に Dim 〇〇 とすればよいです。

データ型が決められていないなら、データ型の宣言しないほうが分かりやすいはずです。無理に入れたところで、初心者は、どうしてエラーが発生したか分かりません。それは、扱うデータ型のサイズなどが分からないからです。

VBAの変数のデータ型には、ほとんど、それしかないというものがあるのですが、そういう変数が分かるようになるまでは、しばらくは、テキストを参考にしたり、自分でトライアンドエラーを繰り返し、VBEditor のローカルウィンドウを確認しながら入れてもらうしかありません。ローカルウィンドウには、Variant/Long とか、本来のデータ型が出てきます。

私は、そういう話は、決まりきったことであっても、説明するのは面倒だと思うことが多いです。私は、あまり入門者に対しては教えることはしませんが、分からなければ、あえて使わなくてもよいと言います。

今のPCのスペックで、変数を宣言しないからといって、言うほどの大きな違いがあるとは思えません。Variant 型やString 型は、2Gまでの余裕があるのですが、VBAでは、それ以前に、アプリケーションがVBAに割付されたメモリの制限があり、そこでトラブってきてしまいます。まず、変数自体で、どうこうなるとは思えないです。

本格的には使いこなしは、建前論ではなく、本来、明示的に入れないと意味がありません。

主に、丸め誤差に対してデータ型のゆらぎが発生します。
'-------------------------------------------
'計算結果はどれも 0 となるはずです

Sub Sample1()
  Dim dbl_A As Double
  Dim sng_B As Single
  Dim cur_C As Currency
  Dim var_D As Variant
'リテラル値は変数型に影響を受けます。
'Variant型にしておいて、リテラル値に型宣言文字を使用するのは関心しません。
  dbl_A = 0.5 - 0.4 - 0.1
  sng_B = 0.5 - 0.4 - 0.1
  cur_C = 0.5 - 0.4 - 0.1
  var_D = 0.5 - 0.4 - 0.1
End Sub
'-------------------------------------------

>私が使っているのはVBAですが、他の言語では型を定義しなければ、その変数を使うことが出来ないというようなものもあるのでしょうか?

プログラミング言語自体は、ほとんどデータ型の宣言をしないといけないと思います。それだけ、前提となる敷居が高いということです。

逆に、VBAの親戚のVBScript の場合は、データ型の宣言が出来ません。それだけに、例えば、文字と数字の比較は、そのまま比較してはならないわけです。VBAの場合も本来は、If 文字 = 数字 Then という比較すること自体が間違いのはずですが、それがまかり通ってしまうのですから、そういう点でデータ型があやふやになってしまっているわけです。だから、そういうアプリケーションの便利な機能に助けられてコードが成り立っているわけですから、厳密に大きな問題にはならないと思います。

'-------------------------------------------
'VBAサンプルプログラム(本来は、間違いのはずです)

Sub Sample2()
Dim i As Long
Dim j As String
i = 1
j = "1"
If i = j Then
 MsgBox "OK"
Else
 MsgBox "different"
End If
End Sub
'-------------------------------------------

こんばんは。

>一般的に、プログラムの最初で変数に対してintegerやlongといった型を定義してから使うというように教わりますが、

もし、入門者に対して、そのようなことを言う人は、経験のあるインストラクターではないと思います。有名な教本などには、そのようなことは書かれていないはずです。

変数を使う時の問題点をあえて書かせていただきます。

私は、今のところ、VBA専門の回答をしていますが、VBAの入門レベルの人は、変数のデータ型を宣言すると、初心者には分からないエラーが時々出るよ...続きを読む

Q線形です (1)を x+3y-2z=0 x-2y+4z=0 x^2+y^2+z^2=1をもちいて 答

線形です
(1)を
x+3y-2z=0
x-2y+4z=0
x^2+y^2+z^2=1をもちいて
答えが+-の答えになりました
(2)では外せきが8,-6,-5となり
おおきさの5ルート5で割ると
+-の答えにはなりませんでした
どちらが正しいのでしょうか?

Aベストアンサー

外積からでてきた単位べクトルは、外積の定義から、ベクトルa、bに垂直ですよね。
だからそれと正反対のベクトルも、ベクトルa、bに垂直な単位ベクトルだから、これも答えに入れれば
よいのです。つまり外積から出した単位ベクトルの各成分に(-1)をかけた成分のベクトルも答えに
なります。そしてこうして出した2つのベクトルは、先に内積で出した2つのベクトルと一致します。


おすすめ情報