私はMATLABの背景を持つpythonの新人です。
FEMを使用して1Dバーの問題を解決するコードを作成しようとしています。私はグローバル剛性行列を含む変数kkを作成し、skk
という複製を作成するので、節点変位を編集して解くことができます。しかし、私がskk
を変更するたびに、kk
も変更されていることを認識しています。 kkはnumpyのndarray変数です。
変数の複製を作成し、元の変数に影響を与えずに変更/編集するにはどうすればよいですか?
私はMATLABの背景を持つpythonの新人です。
FEMを使用して1Dバーの問題を解決するコードを作成しようとしています。私はグローバル剛性行列を含む変数kkを作成し、skk
という複製を作成するので、節点変位を編集して解くことができます。しかし、私がskk
を変更するたびに、kk
も変更されていることを認識しています。 kkはnumpyのndarray変数です。
変数の複製を作成し、元の変数に影響を与えずに変更/編集するにはどうすればよいですか?
これを試してみてください。
import copy
skk=copy.deepcopy(kk)
'numpy'配列では' deepcopy'は必要ありません。 'np.copy(arr)'または 'arr.copy()'で十分です。 – hpaulj
このコードスニペットは歓迎されていますが、いくつかの助けを与えるかもしれませんが、* how *と* Why *がこれを解決する(説明があれば大幅に改善されます)(// meta.stackexchange.com/q/114762)問題。あなたが今質問している人だけでなく、将来読者のための質問に答えていることを忘れないでください!説明を追加するためにあなたの答えを[編集]し、どんな制限と前提が適用されるかを示してください。 –
Windchillに感謝します。それは役に立ちました。 –
numpyの配列も含まれる全ての*関連*質問 –
十分なコード内のコードが作成する質問釈明ニーズを入れて、コードのポストの写真をいけないしてください、変更可能です。**に質問自体**。補足的な情報のためには、オフサイトのリンクは問題ありませんが、質問(または回答)は、それがなければ独立していなければなりません。 –
と言いましたが、これは他のすべてのPythonの型やリストなどの振る舞いと同じ理由で、同じ理由からです。 –