2回連続微分可能で、z=f(x,y),x=x(t),y=y(t)の関係があって、このときのzのtに関する2次導関数を求めるという問題なんですが、1次の導関数は
dz/dt=(∂z/∂x)(dx/dt)+(∂z/∂y)(dy/dt)
だと思うんですが、2次の場合は
d^2z/dt^2=(d/dt)((∂z/∂x)(dx/dt)+(∂z/∂y)(dy/dt))
となって、それぞれの項を積の微分法で解けばいいのでしょうか?できたらその形も教えて下さい。お願いします。

A 回答 (1件)

z=f(x,y),x=x(t),y=y(t)の関係


dz/dt=(∂z/∂x)(dx/dt)+(∂z/∂y)(dy/dt)
これは○です。

積の微分です。
d^2z/dt^2=(d/dt)((∂z/∂x)(dx/dt)+(∂z/∂y)(dy/dt))
=(∂^2z/∂x^2)(dx/dt)^2+(∂z/∂x)(d^2x/dt^2)+....

というようにしていけばよいでしょう。
    • good
    • 0
この回答へのお礼

今、院試の勉教をしているのですが数学の知識が少ないので、なかなかこれでいいという確信がもてずに困ってました。ありがとうございました。

お礼日時:2001/08/18 16:34

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

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

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

QExcel VBAで、セルに入ってるデータ型を調べる方法は?

現在、Excel VBAでプログラムを作成しています。

Do Until ~ Loop の終了条件を
アクティブセルに入っているデータの型が文字列型の時
としたいのですが、そのようなことは可能なのでしょうか?

可能だとしたら、どのように記述したらいいのでしょうか?

当方のPCは
Win XP、Excel2003
です。

よろしくお願いいたします。

Aベストアンサー

VarType 関数を使うとか。

Sub SampleProc()

  Dim i As Long
  
  i = 1
  Do While Len(Cells(i, "A").Value) > 0
    If VarType(Cells(i, "A")) = vbString Then
      Exit Do
    Else
      ' // 処理
    End If
    i = i + 1
  Loop
  MsgBox CStr(i) & "行目で停止"

End Sub

Q∂x/∂z=(1/y)*(∂y/∂z)について

∂x/∂z = (1/y)*(∂y/∂z)を解くと、
x = lny + C(定数)になるのですが、

両辺に∂zをかけて、分母の∂zを消去した上でそれぞれ積分しているのでしょうか。

それとも別の操作で∂zを消しているのでしょうか。

Aベストアンサー

かけ算しているとして考えてもいいですし、

左辺=∂x/∂z=∂x/∂y・∂y/∂zとすると、

結局、∂x/∂y=1/yとなることがわかります。

QVBAでオブジェクト変数にsetしたシートがactiveかどうかを調べるには?

標準モジュールの冒頭でワークシート用のオブジェクト変数を確保し、
あるタイミングで、あるシートをそのオブジェクト変数にSetしています。

で、そのシートに値をセットするときに、そのシートがActiveだった場合だけやりたい処理があるのですが、Setしてあるオブジェクト変数だけを見てそのシートがActiveか否かを判断する方法って、あるのでしょうか。

コード例)
Private oSheetA as Worksheet

Sub SetSheet(sName as String)
  Set oSheetA = worksheets(sName)
End Sub

Sub SetValue(nValue as integer)
  xxxxxx ←ここでoSheetAがActiveならやりたいことがある。
  oSheetA.Cells(nRow, nCol) = cValue
End Sub

具体的には、複数のBookを開いている状態で、Activeシートが何であるかはオペレータの操作次第なので固定化できない状態で、SetValueが呼び出されたとき、oSheetAがActiveだったら、値をセットするセルが見えるようにセルをActivateかスクロールさせたいんです。

標準モジュールの冒頭でワークシート用のオブジェクト変数を確保し、
あるタイミングで、あるシートをそのオブジェクト変数にSetしています。

で、そのシートに値をセットするときに、そのシートがActiveだった場合だけやりたい処理があるのですが、Setしてあるオブジェクト変数だけを見てそのシートがActiveか否かを判断する方法って、あるのでしょうか。

コード例)
Private oSheetA as Worksheet

Sub SetSheet(sName as String)
  Set oSheetA = worksheets(sName)
End Sub

Sub SetValue(nVa...続きを読む

Aベストアンサー

Option Explicit

Private oSheetA As Worksheet

Sub SetSheet(sName As String)
Set oSheetA = Worksheets(sName)
End Sub

Sub SetValue(nValue As Integer)
If oSheetA Is ActiveSheet Then
MsgBox ("hoge")
End If
oSheetA.Cells(1, 1) = nValue
End Sub

Sub Main()
SetSheet ("Sheet1")
SetValue (5)
End Sub

'実行できるようにソースは変更していますが,
'こんな感じでIs演算子で同じオブジェクトか比較してみるってのはどうでしょう?

Q(d/dx)∫(a~b)f(x,y)dy=∫(a~b)(d/dx)f(x,y)dyの成立条件

(d/dx)∫(a~b)f(x,y)dy(つまり、f(x,y)をyで積分(定積分)したものをxで微分したもの)を考えます(ただし、(a~b)は積分範囲を表し、aやbは定数であって、xの関数ではありません)。
これは多くの場合、∫(a~b)(d/dx)f(x,y)dy(つまり、f(x,y)を先にxで微分してからyで積分したもの)と等しくなります。しかし、まれに一致しない場合があります。例としては、f(x,y)=(sin xy)/y (x>0)の場合が挙げられます。
そこで、
(d/dx)∫(a~b)f(x,y)dy=∫(a~b)(d/dx)f(x,y)dy
が成立するための必要十分条件を教えていただきたいと思っています。
もし簡単には述べられない条件でしたら、何のどこを参照すればこのことが論じられているのかを具体的にご教示いただけると幸いです。

Aベストアンサー

積分と微分の順序交換については
必要十分条件は一般にはありません.
ただし,十分条件は知られています.

リーマン積分の範囲だと
f(x,y)が連続で,f_y(x,y)も連続くらいの条件があれば
d/dy∫f(x,y)dx = ∫f_y(x,y)dx
くらいがいえるはずです.
#積分区間とかは省きます.

その十分条件で一番便利だろうと思われるものは
ルベーク積分の言葉で記述されます.
興味があれば,「ルベーク積分」の本を
追いかけてください.
・ルベークの有界収束性定理
・L^1空間
というようなものが理解できれば,順序交換の定理は理解できます.

QVoidポインタで受け取った変数の型を調べる方法

あるライブラリの関数を利用しようとしたのですが、その関数の引数にVoidポインタがあり、どういう型のデータを格納したのかわかりません。このポインタのアドレスに格納されたデータの型を調べる関数なり方法なりというのはあるのでしょうか。

Voidポインタというのは型を問わずに受け取れるというのは利点ですが、受け取ったものがあらかじめなんだかわからない場合はどうするのでしょうか。よろしくお願いします。

Aベストアンサー

★基本的に調べようがありません。
・『void』ポインタはアドレス情報のみを受け渡しますので、型のサイズまでは分かりません。
 逆に言えば、型のサイズが分からないから『汎用ポインタ』と呼べるのです。
・あるライブラリの関数とは何?→どんな関数か分かりませんので、これ以上はアドバイス無理!
 ただ、C言語の qsort などでは比較用の関数で『void』ポインタを受け取りますが、その関数内で
 渡されたデータの『型』を指定します。→ポインタの形でキャストします。
 この比較用の関数は自前で用意する関数ですので、ソートするデータの型が分かっています。
 でも、ソートするデータ型が複数ある場合は、比較用の関数を複数作って切り替えます。
・あと関数に型を表す引数があれば、それを見て判断できますが、そうでない場合は『void』ポインタで
 渡される前の『型』の調べることは不可能です。→言語仕様より。
・以上。参考に。→一応、あるライブラリの関数とは何?

Qf(x,y)=cos(2x-3y)を df/dx= と df/dy= の形にしてください。計算出来る

f(x,y)=cos(2x-3y)を df/dx= と df/dy= の形にしてください。計算出来る方途中計算含めてお願いします。

Aベストアンサー

z= 2x -3y

とおいて、合成関数の微分を使いましょう。

f(z) = cos(z)

なので、

  df/dz = -sin(z)

dz/dx= 2
dz/dy = 3

より、

df/dx = df/dz * dz/dx = -2 * sin(2x-3y)
df/dy = df/dz * dz/dy = -3 * sin(2x-3y)

QVBAでテキストファイルの件数を調べる方法

Access2000のVBAで関数を使用して
ファイルのパス名、ファイル名を指定すれば、
テキストファイルの件数を検索し変数に返す
関数はありませんか?
   
通常テキストファイルを開き1件1件カウントを
取っていけば件数を知ることは可能ですが、
数千レコードのテキストファイルが複数個存在
する場合処理スピードが遅くなるため何か
最適な関数はありませんか?
よろしくお願い致します。

Aベストアンサー

こんにちは。maruru01です。

No.2の方のFileSystemObjectを利用する方法です。

行数 = CreateObject("Scripting.FileSystemObject").OpenTextFile(ファイルのフルパス, 8).Line

複数のファイルをカウントするなら、ファイルでループを回せばいいでしょう。

あと、FileSystemObjectの参考ページを紹介しておきます。

http://www.bcap.co.jp/hanafusa/VBHLP/FSOme.htm

http://www.microsoft.com/japan/msdn/library/default.asp?url=/japan/msdn/library/ja/script56/html/jsobjFileSystem.asp

参考URL:http://www.bcap.co.jp/hanafusa/VBHLP/FSOme.htm,http://www.microsoft.com/japan/msdn/library/default.asp?url=/japan/msdn/l

こんにちは。maruru01です。

No.2の方のFileSystemObjectを利用する方法です。

行数 = CreateObject("Scripting.FileSystemObject").OpenTextFile(ファイルのフルパス, 8).Line

複数のファイルをカウントするなら、ファイルでループを回せばいいでしょう。

あと、FileSystemObjectの参考ページを紹介しておきます。

http://www.bcap.co.jp/hanafusa/VBHLP/FSOme.htm

http://www.microsoft.com/japan/msdn/library/default.asp?url=/japan/msdn/library/ja/script56/html/jsobjFileSystem.asp

...続きを読む

Q(y-x)dy/dx=y ヒント:u=(y-x)

こんにちは。
こんな簡単な微分方程式も解けない理系の大学生です。
本当に恥です。

(y-x)dy/dx=y ヒント:u=(y-x)
について解き方を教えてもらえないでしょうか。

x=y=0という解を一応出してみたのですが、いかんせん自信がありません。

(y-x)dy/dx=y...(1)

u=y-xより
y'=1=(dy/dx)

(1)より
y-x=y
x=0

yy'=y
y'=1
y=x
y=0

という考え方をしたのですが。
もう自信が全然なくて...

Aベストアンサー

(y-x)dy/dx=y

u=y-x

両辺を x 微分すると,

du/dx=dy/dx-1 故に,dy/dx=du/dx +1
これらを (y-x)dy/dx=y に入れると

u(du/dx +1)=u+x
u*du/dx +u=u+x
u*du/dx =x

この微分方程式を解くと,積分定数を c として,

∫u du =∫x dx + c

(1/2)u^2=(1/2)x^2 + c

この式に  を入れれば,

(1/2)(y-x)^2=(1/2)x^2 + c

(1/2)(y^2-2xy+x^2)=(1/2)x^2 + c

(1/2)x^2 が消えるので,

(1/2)(y^2-2xy)= c
(1/2)y(y-2x)= c

y(y-2x)= 2c

積分定数 2c を C と書くと

y(y-2x)=C

となり,y(y-2x)=C が微分方程式 (y-x)dy/dx=y の一般解です.

<検算>

y(y-2x)=C の両辺を微分すると,
y'(y-2x)+y(y-2x)'=0
y'(y-2x)+y(y'-2)=0
yy'-2xy'+yy'-2y=0
2yy'-2xy'-2y=0
yy'-xy'-y=0
(y-x)y'-y=0
(y-x)y'=y

となりますから,一般解 y(y-2x)=C 正しいです..

(y-x)dy/dx=y

u=y-x

両辺を x 微分すると,

du/dx=dy/dx-1 故に,dy/dx=du/dx +1
これらを (y-x)dy/dx=y に入れると

u(du/dx +1)=u+x
u*du/dx +u=u+x
u*du/dx =x

この微分方程式を解くと,積分定数を c として,

∫u du =∫x dx + c

(1/2)u^2=(1/2)x^2 + c

この式に  を入れれば,

(1/2)(y-x)^2=(1/2)x^2 + c

(1/2)(y^2-2xy+x^2)=(1/2)x^2 + c

(1/2)x^2 が消えるので,

(1/2)(y^2-2xy)= c
(1/2)y(y-2x)= c

y(y-2x)= 2c

積分定数 2c を C と書くと

y(y-...続きを読む

QVBAで他のプログラムが起動しているか調べる方法

VBAで
D:\test\test.exe
が起動中か調べたいのですが
どのようにすれば良いですか?

http://www.vbalab.net/vbaqa/data/access/log/tree_532.htm

このページの方法を使えば、
exe以外のファイルが使用中かは調べることができたのですが
exeファイルの場合にはうまくいきません。

良い方法があれば教えてください。

Aベストアンサー

残念ながら・・・出来ません。
一応、プロパティの中に Handle ってのがあるのですが
取得できるのは ProcessID の値です。
以前、調べていて Handle を見つけた時は、
『やったー \(^o^)/』と思いましたが
ぬか喜びでした。。。orz

なお、当方の環境は、Windows7 Pro & Office2010 です。

Qz=(-x/y)*(dy/dx) を dz/dxで微分すると?

z=(-x/y)*(dy/dx) を dz/dxで微分すると?


微分に関して分らない問題があります。

あるテキストの解法の途中で、

「z=(-x/y)*(dy/dx) ⇒ dz/dxで微分 ⇒ dz/dx=(2/y)-(2x/y^2)*(dy/dx)」

となっているのですが、この原理について、調べてみてもなかなか見つかりません。
どなたか原理の分かる方おられませんでしょうか。

Aベストアンサー

>z=(-x/y)*(dy/dx) ⇒ dz/dx ⇒ dz/dx=(2/y)-(2x/y^2)*(dy/dx)
これは間違い。

正:dz/dx=-(dx/dx)*(1/y)*(dy/dx)-x*d(1/y)/dy)*(dy/dx)-(x/y)*d(dy/dx)/dx
=-(1/y)*(dy/dx)+(x/y^2)*(dy/dx)^2-(x/y)*d^2 y/dx^2


人気Q&Aランキング

おすすめ情報