🎄teratailクリスマスプレゼントキャンペーン2024🎄』開催中!

\teratail特別グッズやAmazonギフトカード最大2,000円分が当たる!/

詳細はこちら
Matplotlib

MatplotlibはPythonのおよび、NumPy用のグラフ描画ライブラリです。多くの場合、IPythonと連携して使われます。

NumPy

NumPyはPythonのプログラミング言語の科学的と数学的なコンピューティングに関する拡張モジュールです。

ループ

ループとは、プログラミングにおいて、条件に合致している間、複数回繰り返し実行される箇所や、その制御構造を指します

Python

Pythonは、コードの読みやすさが特徴的なプログラミング言語の1つです。 強い型付け、動的型付けに対応しており、後方互換性がないバージョン2系とバージョン3系が使用されています。 商用製品の開発にも無料で使用でき、OSだけでなく仮想環境にも対応。Unicodeによる文字列操作をサポートしているため、日本語処理も標準で可能です。

zip

ZIPとは、複数のファイルをひとつにまとめて圧縮したり、圧縮したファイルを展開することができるアーカイブフォーマットです。 1998年以降のWindowsOS各バージョンで、標準の圧縮フォルダとして採用されています。 MacOSでも、X v10.3以降に他の圧縮ソフトとまとめてZIP機能を採用しています。

Q&A

解決済

1回答

877閲覧

python ループ zip 等差数列

11390

総合スコア20

Matplotlib

MatplotlibはPythonのおよび、NumPy用のグラフ描画ライブラリです。多くの場合、IPythonと連携して使われます。

NumPy

NumPyはPythonのプログラミング言語の科学的と数学的なコンピューティングに関する拡張モジュールです。

ループ

ループとは、プログラミングにおいて、条件に合致している間、複数回繰り返し実行される箇所や、その制御構造を指します

Python

Pythonは、コードの読みやすさが特徴的なプログラミング言語の1つです。 強い型付け、動的型付けに対応しており、後方互換性がないバージョン2系とバージョン3系が使用されています。 商用製品の開発にも無料で使用でき、OSだけでなく仮想環境にも対応。Unicodeによる文字列操作をサポートしているため、日本語処理も標準で可能です。

zip

ZIPとは、複数のファイルをひとつにまとめて圧縮したり、圧縮したファイルを展開することができるアーカイブフォーマットです。 1998年以降のWindowsOS各バージョンで、標準の圧縮フォルダとして採用されています。 MacOSでも、X v10.3以降に他の圧縮ソフトとまとめてZIP機能を採用しています。

0グッド

0クリップ

投稿2019/10/10 06:25

ループ処理で困っています。
現在、下記のようなプログラムを実装しました。しかしこちらをループ処理で簡単にしたいと
思いここ何日か悩んでいます。ネットを見ても具体例があまりなく参考になりませんでした。よければ教えてください・
fig = plt.figure()
ax = fig.add_subplot(1, 1, 1)
ax.set_aspect('equal')
ax.grid()

p1 = (0, 0)
p2 = (0.0768, -0.133)
p3 = (0.1536, 0)
p4= (0.63, 0)
p5= (0.7068,-0.133)
p6= (0.7836,0)
p7= (1.26,0)
p8= (1.3368,-0.133)
p9= (1.4136,0)

ax.plot(*zip(p1, p2, p3, p4,p5,p6,p7,p8,p9,))
plt.xlim([0,7])
plt.ylim([-0.2,0.1])
plt.show()

-----------------
x=0.63
z=-0.133
L=0.1536

p1 = (0, 0)
p2 = (L/2, -0.133)
p3 = (L, 0)
p4= (X, 0)
p5= (X+L/2,-0.133)
p6= (X+L,0)
p7= (2X,0)
p8= (2X+L/2,-0.133)
p9= (2X+L,0)

(p1,p4,p7),(p2,p5,p8)(p3,p6,p9)が等差数列です.

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

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

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

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

tiitoi

2019/10/10 06:37

p_i = (x_i, y_i) を表す漸化式を考えてみてください
11390

2019/10/15 04:44

p_iとはどう意味ですか?
guest

回答1

0

ベストアンサー

p_nは2つの要素で成り立っているように見えます。
このそれぞれの要素について、漸化式(前のいくつかの項から次の項を計算する)や一般項の式(nからその項を計算する)を作ってみると良いと思います。
今回であれば、p_n = (x_n, y_n)とすると、(n=0,1,2...)
x_n=0.63*(n//3)+0.0768*(n%3)
で、
y_n=0 (このときn%3=0,2)
y_n=-0.133 (このときn%3=1)
のように見えます。
この式をコードにしてみてください。if文で分岐させるのでも、//や%の演算子を使うのでも実装できると思います。
ここで、割り算a/b=cあまりdとしたとき、a//b=cかつa%b=dです。

投稿2019/10/10 15:44

編集2019/10/10 15:46
退会済みユーザー

退会済みユーザー

総合スコア0

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

11390

2019/10/15 05:08 編集

追加なのですが、現在初期値がp1(0.0)となっていますが、これを任意の数にしたうえでループさせるにはどうすればよいでしょうか?
退会済みユーザー

退会済みユーザー

2019/10/15 07:16

初項を(a,b)として、 x_n=a+0.63*(n//3)+0.0768*(n%3) y_n=b (このときn%3=0,2) y_n=b-0.133 (このときn%3=1) などとして目的の挙動になればこうすれば良いと思います。 目的の挙動にならないときは、漸化式をきちんと立ててやると良いと思います。漸化式とは、数列{a}について、a_(n+1)をa_nで表す式のことです。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.36%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問