人力検索はてな
モバイル版を表示しています。PC版はこちら
i-mobile

数学?に関する質問です。工場に多くの機械があります。記録簿には、各機械の運転の開始時間と終了時間が記録されています。

例:
機械A 2006年10月1日08:35:40運転開始 2006年10月1日10:21:07運転終了
機械B 2006年10月1日09:24:54運転開始 2006年10月1日09:35:19運転終了

ある機械とある機械が同時に使用されていた時間(秒数)を求めたいのです。簡単に、機械Aと機械Bの2台の機械があるとお考えください。機械AとBの運転の開始時間をAoとBo、終了時間をAsとBsとします(openとstopのつもり)。この4つの変数を用いて、同時使用の時間を求める一般式をお教え下さい。条件として、

・一般の加減剰余の演算だけで算出する
・変数の大小によって場合分けしない(1つの式で表現)
・絶対値記号の使用はあり

# 記録によっては、同時使用の時間がない場合もあります。

質問文が不明瞭かもしれません。その点はご指摘ください。あまり自信のないご回答は、ご遠慮ください。

以上、よろしくお願いいたします。

追伸:((As-Ao)+(Bs-Bo))-(|Bs-Ao|+|As-Bo|+|As-Bs|+|Ao-Bo|)/2 などいろいろ考えましたがNGでした。この式の場合、同時時間ナシの場合が、上手くいかないようです。

●質問者: Mugicha2004
●カテゴリ:学習・教育 科学・統計資料
✍キーワード:10月1日 2006年 24 Ao AS
○ 状態 :終了
└ 回答数 : 6/6件

▽最新の回答へ

1 ● hengsu
●10ポイント

((Bs-Ao)+|Bs-Ao|)/2 + ((Ao-Bs)+|Ao-Bs|)/2

では?

◎質問者からの返答

さっそくのご回答、ありがとうございます。単括弧と絶対値括弧を、このように組み合わせる発想はありませんでした。簡単に検算してみました。すると....

******Ao*********As************

***********Bo***********Bs*****

のような時系列の組合せの場合、図から解は「As-Bo」ということはすぐに分かると思います。ご提示の一般式を解くと、Bs-Aoとなり、求める解とは異なるような気がします。

いかがでしょうか?私の勘違いでしょうか?


2 ● Baku7770
●25ポイント

意外と簡単でしたね。

Ao、As、Bo、Bs総てが等しくなくという仮定がつきます。

Ao<As、Bo<Bsですから、

Ao<Boの場合、

Ao,Bo,Bs,As

Ao,Bo,As,Bs

Ao,As,Bo,Bs

の3通りしか組み合わせはありません。Ao>Boの場合も同様です。

まず、0となる組み合わせを排除します。

((Bo?As)/|Bo?As|+1)・((Ao?Bs)/|Ao?Bs|+1)/4となります。後は実際に計算を行うべき式にこれを掛ければいいのです。

Ao,Bo,Bs,Asの場合、Bs?Boを計算するわけです。

その場合、As>Bs、Bo>Aoですから

(Bs?Bo)・((As?Bs)/|As?Bs|+1)・((Bo?Ao)/|Bo?Ao|+1)/4

で計算されます。

後はそれぞれのケースの式を立てて足し算するだけです。

◎質問者からの返答

詳細なご回答をありがとうございます。ご指摘のとおり、それぞれの値の大小について場合分けをすると、ご提示の式でOKのようです。一部、文章がわかりにくかったです。「後は実際に計算を行うべき式にこれを掛ける」との部分です。飲み込みが悪くてすみません。

追記ですが、

・4つの値は、一部が同一のこともあります。全て同一のこともあります。

・重複する運転時間がないため、結果がゼロとなることもあります。そのような場合も処理できる式が希望です

・4つの値の前後関係や同一など、全ての場合において成立する式が希望です。

ご回答内容が、値の前後関係(大小関係)によって場合分けをしなければならないのであれば、当方の希望情報とは異なります。

もう少しご回答を待ちたいと思います。よろしくお願いいたします。


3 ● hengsu
●30ポイント

すみません。

[X]=(X+|X|)/2で、Xが正の時に、X、負の時に0になるというのを使うつもりで、うっかり、oとsを逆に書いてしまった上に、全体を引くのを忘れると言う、見落としがありました。

上の記号を使うと、今度は、

[Bo-As]+[Ao-Bs]

になると思います。

◎質問者からの返答

追加のご回答を、ありがとうございます。[]という算術記号があるのですね。これを用いると、[Bo-As]+[Ao-Bs]と定式できるとのご回答だと思います。

大変すみませんが、よく理解できません。アタマがずいぶんと固くなっているようです。「Xが正の時に、X、負の時に0になる」というのは、[]記号内での「裸のX」に適用するルールでしょうか?ということでしたら、

・Xが正の場合、[X]はX

・Xが負の場合、[X]はX/2

なのでしょうか? もしくは、後者は「ゼロ」なのでしょうか?

その辺りからつまずいてしまい、検証が満足にできていません。少々永くなっても構いませんので、+-*/と絶対値記号だけで表記していただけると助かります。よろしくお願いいたします。


4 ● toohigh
●30ポイント

G = ((As-Bo)+|As-Bo|) / 2 / (As-Bo)

・・という式を考えると、同時時間なしの場合は G=0 , ありの場合は G=1 になるので、

例示されている式を F として、

F = ((As-Ao)+(Bs-Bo))-(|Bs-Ao|+|As-Bo|+|As-Bs|+|Ao-Bo|)/2

G = ((As-Bo)+|As-Bo|) / 2 / (As-Bo)

Answer = F * G

・・・で、期待通りの結果になるかと思います。

ただし、As = Bo の時に、G が 0/0 の不定値になるのを許してもらえるなら、という条件付きですが・・。

◎質問者からの返答

次々のご回答、ありがとうございます。一部、当方の式をFとしてお使いいただいたようで、少しうれしく思います。アルコール濃度が上がっているため、連休中にゆっくりと検証したいと思います。早く結論を知りたいのですが...

基本的に、ややこしい式・長い式になってしまうようですね。ご提示の内容ですが、0/0が発生してしまうのが残念ですね。As=Boのケースも、もちろん想定されます。一部、除外ケースを設けないと、一般化はムリなのかもしれません。

数式に詳しい方のご回答を、いましばらく待ちたいと思います。よろしくお願いいたします。


5 ● Z9M9Z
●30ポイント

1の回答の方にもあるように(x+|x|)/2はx>0のときx、x<0のとき0になり、判別式のように使えます。

AoとBoの小さい方からAsとBsの大きい方までの長さを全体の長さT、As-AoとBs-Boの和を個別長さの総計とするとSとすると、S-Tが正のときだけ値を返し、負のときは0になればよいわけです。

T1=(|Ao-Bo|-(Ao-Bo))/2

T2=(|Bo-Ao|-(Bo-Ao))/2

To=T1+T2

とすると、T1はAo<BoのときだけAo、T2はAo>BoのときだけBoですので、Toには小さい方が入り、同様に

T3=((As-Bs)+|As-Bs|)/2

T4=((Bs-As)+|Bs-As|)/2

Ts=T3+T4

でTsには大きい方が入ります。これでTは

T=Ts-To

とかけます。

S=(As-Ao)+(Bs-Bo)

ですので、以上から、求める長さは

((S-T)+|S-T|)/2

となるはずです。‥以上を代入するとすごい式なので省略させてください。

◎質問者からの返答

詳細なご回答を、ありがとうございます。第一印象ですが、これでキマリ!のような気がしています。

判別式的な使い方のできる(x+|x|)/2は、とても有用そうな部分ですね。しかし、すべてA?Bで表記すると、ずいぶんと長い式になるんですね。場合ごとに考えると、それぞれとても簡単な式で表現できるとのですが、一般化するとトタンに長くなるのですね... ううむ

せっかくですので、もう少しご回答を募集したいと思います。ご提示いただいた式の検証も、今しばらくお時間をください。ご参考までに私が手計算で用いている各パターンを、以下に示します。よろしくお願いいたします。


パターン1

===Ao==========As========

=======Bo===========Bs===


パターン2

=======Ao===========As===

===Bo==========Bs========


パターン3

===Ao================As==

=======Bo====Bs==========


パターン4

=======Ao====As==========

===Bo================Bs==


パターン5

===Ao===As===============

==============Bo===Bs====


パターン6

==============Ao===As====

===Bo===Bs===============


パターン7

===Ao===As===============

========Bo=========Bs====


パターン8

========Ao=========As====

===Bo===Bs===============


追伸:個人的(素人的)には、もう少し「エレガントな解を求む」の気分です。

追伸2:4の方も5の方も正しい場合、それぞれの式は同一なのでしょうか?展開すれば分かりそうですが....


1-5件表示/6件
4.前の5件|次5件6.
関連質問


●質問をもっと探す●



0.人力検索はてなトップ
8.このページを友達に紹介
9.このページの先頭へ
対応機種一覧
お問い合わせ
ヘルプ/お知らせ
ログイン
無料ユーザー登録
はてなトップ