質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

ただいまの
回答率

91.02%

  • Excel

    1213questions

    Excelは、マイクロソフト社が開発しているデータ集計や分析を行う表計算ソフトの一つです。文書作成や表計算、資料作成などの多彩な機能を備えており、統合パッケージであるMicrosoft Officeに含まれています。

  • 関数

    181questions

    関数(ファンクション・メソッド・サブルーチンとも呼ばれる)は、はプログラムのコードの一部であり、ある特定のタスクを処理するように設計されたものです。

【エクセル積分計算】難易度★★☆☆☆

解決済

回答 2

投稿 編集

  • 評価
  • クリップ 0
  • VIEW 397

Ataru

score 6

積分計算を行う方法
http://www.signalysis.co.jp/teihei/aop/integral.pdf

こちらのページを参考にしながら、任意の数値で行いたいと考えております。
加速する部分と速度を保つ部分は、なんとか作ったつもりです。

今回の条件なのですが、下にある画像の通りでございます。

"D3"【初速度(km/h)】 0km
"D4"【最高速度(km/h)】 40km
"D5"【移動距離(m)】 270m
"D6"【加速係数】 0.2

"D9"【加速度(m/s²)】
=($D$4/3.6-$D$3/3.6)/$D$11

"D10"【40kmに到達した時の走行距離(m)】
=(($D$4/3.6)^2/(2*$D$6*9.8))

"D11"【40kmに到達した時の所要時間(s)】
=2*$D$10/($D$4/3.6)

"C17"【0.01秒時点での速度(m/s)】
=IF($C$16+$D$9*$B17>=$D$4/3.6,$D$4/3.6,$C$16+$D$9*$B17)

いまのところ、以上のような状態です。
この式をC列に引っ張っています。

さらにこの後、減速する部分まで自動で入力したいと考えており、自分で考えた式が以下です。

"C17"
=IF($D17>=($D$5-$D$10),$D$4/3.6-$D$9*B17,IF($C$16+$D$9*$B17>=$D$4/3.6,$D$4/3.6,$C$16+$D$9*$B17))

※解説
"C17"
=IF(270m(目的地までの距離)-31.49m(最高速度まで加速するための距離)がD列の値を超えた場合,11.111(初速度)+マイナス1.96(加速度)*時間,元の関数)

といった内容のつもりです。
しかし、この式を"C17"に入力しようとしたら、循環関数になってしまいます。

どなたか解決できる式を教えて頂けましたら幸いです。

■補足

yahoo!ボックスというサービスを利用して、画像が見えるようにしました。

以下のURLから、今回の画像を確認して頂けます。
https://yahoo.jp/box/yAGRSe

  • 気になる質問をクリップする

    クリップした質問は、後からいつでもマイページで確認できます。

    またクリップした質問に回答があった際、通知やメールを受け取ることができます。

    クリップを取り消します

  • 良い質問の評価を上げる

    以下のような質問は評価を上げましょう

    • 質問内容が明確
    • 自分も答えを知りたい
    • 質問者以外のユーザにも役立つ

    評価が高い質問は、TOPページの「注目」タブのフィードに表示されやすくなります。

    質問の評価を上げたことを取り消します

  • 評価を下げられる数の上限に達しました

    評価を下げることができません

    • 1日5回まで評価を下げられます
    • 1日に1ユーザに対して2回まで評価を下げられます

    質問の評価を下げる

    teratailでは下記のような質問を「具体的に困っていることがない質問」、「サイトポリシーに違反する質問」と定義し、推奨していません。

    • プログラミングに関係のない質問
    • やってほしいことだけを記載した丸投げの質問
    • 問題・課題が含まれていない質問
    • 意図的に内容が抹消された質問
    • 広告と受け取られるような投稿

    評価が下がると、TOPページの「アクティブ」「注目」タブのフィードに表示されにくくなります。

    質問の評価を下げたことを取り消します

    この機能は開放されていません

    評価を下げる条件を満たしてません

    評価を下げる理由を選択してください

    詳細な説明はこちら

    上記に当てはまらず、質問内容が明確になっていない質問には「情報の追加・修正依頼」機能からコメントをしてください。

    質問の評価を下げる機能の利用条件

    この機能を利用するためには、以下の事項を行う必要があります。

回答 2

checkベストアンサー

+2

ご想定の内容がどのようなものか理解しきれていないかもしれませんが、下記のように考えてみました。
MS Excelではなく LibreOffice Calcを使用していますが、数式等は同じものが使えると思います。

計算シートのキャプチャ

上記のシートでは下記のような運動を考えるものとしています。

  • 初速度から等加速度で速度が上昇するが、最高速度に到達するとそれ以上は速度は上昇しない
  • 移動距離の位置では速度が0となるように等加速度での減速を行う
  • 減速が行われるまでは等速運動を行う
  • 加速時、減速時の加速度は同じである

質問に記載の数式に出てくる9.8というのは地球の重力加速度定数と認識しましたが、
どのような想定でこの値が出てくるのかは、ご質問の内容からは把握できませんでした。
そのため、加速係数から加速度を算出する部分については考慮していません。

Excelでもそうですが、セルやセル範囲には名前をつけることができます。
その機能を用いて上記のシートでは計算結果として参照するセルに名前をつけています。
赤く塗りつぶしているセルの名前で、2つ右のセルの値が参照できるようにして数式を組み立てています。

また、画像だとコピペがしづらいため、速度Aと距離Aを求める数式を下記に記載します。

  • 速度A (C16)
=IF($B16<減速開始時間,IF((初速度+加速度*$B16)<最高速度,初速度+加速度*$B16,最高速度),IF(0<(最高速度-(加速度*($B16-減速開始時間))), 最高速度-(加速度*($B16-減速開始時間)),0))
  • 距離A (D16)
=IF($B16<所要時間,IF($B16<最高速度到達時間,(初速度*$B16)+SUMPRODUCT(1/2,加速度,POWER($B16,2)),IF($B16<減速開始時間,最高速度到達距離+(最高速度 *($B16-最高速度到達時間)),移動距離-SUMPRODUCT(1/2,加速度,POWER(所要時間-$B16,2)))),移動距離)

ご参考になれば幸いです。

投稿

  • 回答の評価を上げる

    以下のような回答は評価を上げましょう

    • 正しい回答
    • わかりやすい回答
    • ためになる回答

    評価が高い回答ほどページの上位に表示されます。

  • 回答の評価を下げる

    下記のような回答は推奨されていません。

    • 間違っている回答
    • 質問の回答になっていない投稿
    • スパムや攻撃的な表現を用いた投稿

    評価を下げる際はその理由を明確に伝え、適切な回答に修正してもらいましょう。

  • 2017/10/08 11:37

    とてもご丁寧な回答ありがとうございます。
    ここまでのグラフを作って頂けるとは思っておりませんでしたので、驚いております。

    >>
    上記のシートでは下記のような運動を考えるものとしています。

    この認識の通りでございます。

    >>
    質問に記載の数式に出てくる9.8というのは地球の重力加速度定数と認識しましたが、
    どのような想定でこの値が出てくるのかは、ご質問の内容からは把握できませんでした。

    こちらのサイト様を参考にしました。

    【ゼロ発進加速した自動車が一定速度に達するまでの走行距離と所要時間】
    http://www5d.biglobe.ne.jp/Jusl/Keisanki/JTSL/SokudoKasoku.html

    加速係数という数値を0.2としたうえで、したに公式がありましたので、こちらの式を参考にしています。


    早速、作成して頂いたシートをエクセルにて再現してみました。

    ※以下画像ファイルです。
    https://yahoo.jp/box/cbbgYq

    正直なところ、まだ理解できていない部分がいくつかありますので、1つずつ調べながら研究していこうと考えております。

    D9セルとD11セルのSUMPRODUCT関数を使った式はどのような内容の計算が行われておりますでしょうか?
    普段使ったことのない関数だったので、教えて頂ければ助かります。

    キャンセル

  • 2017/10/09 07:52 編集

    参考にされたページでは、加速度の算出に際して質量を考慮した計算を行っているものと思われます。
    F=maですね。
    その場合、地球上の物体の運動を考えるのであれば9.8が値に出てくるのは納得できます。

    > D9セルとD11セルのSUMPRODUCT関数を使った式はどのような内容の計算が行われておりますでしょうか?
    SUMPRODUCT関数はSUM関数の拡張版として掛け算も行うものと考えて頂ければよいかと思います。
    D9では、等加速度直線運動での、ある時間に到達する距離を公式から求めていますが、
    X(t) = v0t + 1/2at^2 の "1/2", "a", "t^2" の3つの掛け算をSUMPRODUCT関数で計算しています。
    ただ、ここでは単に引数の値で掛け算を行っているだけなので、PRODUCT関数の方が適切であったように思います。

    キャンセル

  • 2017/10/08 15:24 編集

    よくよく考えると、時間の2乗をPOWER関数で計算していますが、PRODUCT(1/2, a, t, t)でそのまま計算させてもよかったかもしれません。
    あと、1点訂正があります。加速度の単位変換式が間違っていたようです。km/h^2なので、m/s^2に変換する場合は3600でもう1度割る必要があります。
    なんだか大きいような気がするとは思っていたのですが、気づけていませんでした。失礼しました。

    キャンセル

  • 2017/10/09 10:51

    ご返信ありがとうございます。

    >>
    PRODUCT(1/2, a, t, t)でそのまま計算させてもよかったかもしれません。

    そうだったんですね。
    せっかく覚えることができたので、SUMPRODUCT関数で計算してみますね。

    >>
    1点訂正があります。

    やってみます。
    ありがとうございます。

    キャンセル

+1

速度の場合はsuyamaさんのような場合分けをするしかなさそうですが、
距離は場合分けが面倒そうなので、リンク先にある台形法か中点法で数値計算で積分したほうがいいと思います。
距離の初期値
D16 = 0
距離初期値以外D17をドラッグ&ドロップでコピー
D17 = D16 + (C16 + C17)/2*(B17 - B16)

http://www.sci.kagoshima-u.ac.jp/~shigeta/AC-NumericalDiffAndInt-Basic.pdf

投稿

編集

  • 回答の評価を上げる

    以下のような回答は評価を上げましょう

    • 正しい回答
    • わかりやすい回答
    • ためになる回答

    評価が高い回答ほどページの上位に表示されます。

  • 回答の評価を下げる

    下記のような回答は推奨されていません。

    • 間違っている回答
    • 質問の回答になっていない投稿
    • スパムや攻撃的な表現を用いた投稿

    評価を下げる際はその理由を明確に伝え、適切な回答に修正してもらいましょう。

  • 2017/10/08 11:40

    ご返信ありがとうございます。

    URL確認しました。
    台形法か中点法という方法があるのですね。

    少々理解が難しい内容だったのですが、読み解きながら参考にさせて頂きます。

    キャンセル

15分調べてもわからないことは、teratailで質問しよう!

  • ただいまの回答率 91.02%
  • 質問をまとめることで、思考を整理して素早く解決
  • テンプレート機能で、簡単に質問をまとめられる

関連した質問

同じタグがついた質問を見る

  • Excel

    1213questions

    Excelは、マイクロソフト社が開発しているデータ集計や分析を行う表計算ソフトの一つです。文書作成や表計算、資料作成などの多彩な機能を備えており、統合パッケージであるMicrosoft Officeに含まれています。

  • 関数

    181questions

    関数(ファンクション・メソッド・サブルーチンとも呼ばれる)は、はプログラムのコードの一部であり、ある特定のタスクを処理するように設計されたものです。