質問編集履歴

4

「解決結果」

2019/03/04 13:36

投稿

shun_uchi
shun_uchi

スコア13

test CHANGED
File without changes
test CHANGED
@@ -245,3 +245,13 @@
245
245
 
246
246
 
247
247
  どなたかお力添えのほう宜しくお願い致します。
248
+
249
+
250
+
251
+ ###後記
252
+
253
+ 解決しました、皆様ご指南の方大変ありがとうございました。
254
+
255
+ ![結果1](099c8504e2518d9667240872cbb3ff60.png)
256
+
257
+ ![結果2](876c5a84b6bb73b3672a4ff37d8838be.png)

3

「編集依頼を修正」

2019/03/04 13:35

投稿

shun_uchi
shun_uchi

スコア13

test CHANGED
File without changes
test CHANGED
@@ -100,7 +100,7 @@
100
100
 
101
101
 
102
102
 
103
- p.StartInfo.FileName = @"C:\python.exe"; //python.exeの場所を指定
103
+ p.StartInfo.FileName = @"C:\(ファイルのディレクトリ)\python.exe"; //python.exeの場所を指定
104
104
 
105
105
  p.StartInfo.UseShellExecute = false; //シェルで実行を無効
106
106
 
@@ -110,7 +110,7 @@
110
110
 
111
111
  //引数にPythonスクリプトを指定
112
112
 
113
- p.StartInfo.Arguments = @"C:\calc.py";
113
+ p.StartInfo.Arguments = @"C:\(ファイルのディレクトリ)\calc.py";
114
114
 
115
115
 
116
116
 

2

「編集依頼を修正」

2019/03/04 09:20

投稿

shun_uchi
shun_uchi

スコア13

test CHANGED
File without changes
test CHANGED
@@ -1,15 +1,27 @@
1
1
  ### 前提・実現したいこと
2
2
 
3
- Visual Studio2017WFPでGUIを作っています。その際にbuttonからpythonの外部ライブラリ(numpyやmatplotlibなど)を含む.pyファイルを実行したいです。
3
+ Visual Studio 2017WFPでGUIを作っています。その際にbuttonからpythonの外部ライブラリ(numpyやmatplotlibなど)を含む.pyファイルを実行したいです。
4
-
5
-
6
-
4
+
5
+
6
+
7
-  現状としてはデバッグするとButtonが表示されたGUIは適切に立ち上がりC#で書いたShow()関数では文字を表示できました。
7
+  現状としてはデバッグするとButtonが表示されたGUIは適切に立ち上がりC#で書いたShow()関数では文字を表示できました。
8
8
 
9
9
   しかしpythonファイルを実行しようとすると表示されたButtonをクリックしてもpythonファイルが実行されていません。どなたか解決策に関する知見をお持ちではございませんでしょうか?
10
10
 
11
11
 
12
12
 
13
+ 私の開発環境は以下の通りです。
14
+
15
+ ・Visual Studio2017,
16
+
17
+ ・C#,
18
+
19
+ ・python3.6.8
20
+
21
+
22
+
23
+
24
+
13
25
  ※参考にしているサイトは以下の通りです。
14
26
 
15
27
  ・[Windows GUIプログラミング入門1 メッセージボックス表示](https://qiita.com/Kosen-amai/items/f9e3df2aa80363f5af5b)
@@ -88,7 +100,7 @@
88
100
 
89
101
 
90
102
 
91
- p.StartInfo.FileName = @"C:\(ファイルのディレクトリ)\python.exe"; //python.exeの場所を指定
103
+ p.StartInfo.FileName = @"C:\python.exe"; //python.exeの場所を指定
92
104
 
93
105
  p.StartInfo.UseShellExecute = false; //シェルで実行を無効
94
106
 
@@ -98,7 +110,7 @@
98
110
 
99
111
  //引数にPythonスクリプトを指定
100
112
 
101
- p.StartInfo.Arguments = @"C:\(ファイルのディレクトリ)\calc.py";
113
+ p.StartInfo.Arguments = @"C:\calc.py";
102
114
 
103
115
 
104
116
 
@@ -122,7 +134,7 @@
122
134
 
123
135
 
124
136
 
125
- そして、外部ライブラリを含むpythonファイルcalc.がこちら
137
+ そして、外部ライブラリを含むpythonファイルcalc.pyがこちら
126
138
 
127
139
  ```py
128
140
 
@@ -178,18 +190,6 @@
178
190
 
179
191
  V[i,j]=0.25*(V[i+1,j]+V[i-1,j]+V[i,j+1]+V[i,j-1])
180
192
 
181
- """
182
-
183
- for j in range(a,a+t):
184
-
185
- V[i,j]=0.25*(V[i+1,j]+V[i-1,j]+V[i,j+1]+V[i,j-1])+pi*(-r)
186
-
187
- for j in range(a+d,a+d+t):
188
-
189
- V[i,j]=0.25*(V[i+1,j]+V[i-1,j]+V[i,j+1]+V[i,j-1])+pi*r
190
-
191
- """
192
-
193
193
  x=range(0,Nmax,2);y=range(0,Nmax,2)
194
194
 
195
195
  X,Y=p.meshgrid(x,y)
@@ -236,10 +236,6 @@
236
236
 
237
237
  print(V[50,a+d+t])
238
238
 
239
-
240
-
241
-
242
-
243
239
  ```
244
240
 
245
241
 
@@ -248,260 +244,4 @@
248
244
 
249
245
 
250
246
 
251
- ここに問題に対して試したことを記載してください。
252
-
253
-
254
-
255
- ### 補足情報(FW/ツールのバージョンなど)
256
-
257
-
258
-
259
- ここにより詳細な情報を記載してください。
260
-
261
- ### 前提・実現したいこと
262
-
263
- Visual Studio 2017のWFPでGUIを作っています。その際にbuttonからpythonの外部ライブラリ(numpyやmatplotlibなど)を含む.pyファイルを実行したいです。
264
-
265
-
266
-
267
-  現状としてはデバッグするとButtonが表示されたGUIは適切に立ち上がり、C#で書いたShow()関数では文字を表示できました。
268
-
269
-  しかしpythonファイルを実行しようとすると表示されたButtonをクリックしてもpythonファイルが実行されていません。どなたか解決策に関する知見をお持ちではございませんでしょうか?
270
-
271
-
272
-
273
- 私の開発環境は以下の通りです。
274
-
275
- ・Visual Studio2017,
276
-
277
- ・C#,
278
-
279
- ・python3.6.8
280
-
281
-
282
-
283
-
284
-
285
- ※参考にしているサイトは以下の通りです。
286
-
287
- ・[Windows GUIプログラミング入門1 メッセージボックス表示](https://qiita.com/Kosen-amai/items/f9e3df2aa80363f5af5b)
288
-
289
- ・[第7回 Windowsフォームアプリケーションからパペロを制御してみた](https://smilerobo.com/threads/第7回%e3%80%80windowsフォームアプリケーションからパペロを)
290
-
291
- ### 該当のソースコード
292
-
293
-
294
-
295
- メインとなるC#のファイルMainWindow.xaml.csがこちら
296
-
297
- ```C#
298
-
299
- using System;
300
-
301
- using System.Collections.Generic;
302
-
303
- using System.Diagnostics;
304
-
305
- using System.Linq;
306
-
307
- using System.Text;
308
-
309
- using System.Threading.Tasks;
310
-
311
- using System.Windows;
312
-
313
- using System.Windows.Controls;
314
-
315
- using System.Windows.Data;
316
-
317
- using System.Windows.Documents;
318
-
319
- using System.Windows.Input;
320
-
321
- using System.Windows.Media;
322
-
323
- using System.Windows.Media.Imaging;
324
-
325
- using System.Windows.Navigation;
326
-
327
- using System.Windows.Shapes;
328
-
329
-
330
-
331
- namespace python_in_cc
332
-
333
- {
334
-
335
- /// <summary>
336
-
337
- /// MainWindow.xaml の相互作用ロジック
338
-
339
- /// </summary>
340
-
341
- public partial class MainWindow : Window
342
-
343
- {
344
-
345
- public MainWindow()
346
-
347
- {
348
-
349
- InitializeComponent();
350
-
351
- }
352
-
353
-
354
-
355
- private void Button_Click(object sender, RoutedEventArgs e)
356
-
357
- {
358
-
359
- var p = new Process(); //プロセスクラスのインスタンスを生成
360
-
361
-
362
-
363
- p.StartInfo.FileName = @"C:\python.exe"; //python.exeの場所を指定
364
-
365
- p.StartInfo.UseShellExecute = false; //シェルで実行を無効
366
-
367
- p.StartInfo.CreateNoWindow = true; //Windowを開かないように設定
368
-
369
-
370
-
371
- //引数にPythonスクリプトを指定
372
-
373
- p.StartInfo.Arguments = @"C:\calc.py";
374
-
375
-
376
-
377
- p.Start(); //プロセスの実行
378
-
379
-
380
-
381
- p.WaitForExit(); //プロセスの終了まで待機
382
-
383
- p.Close(); //プロセスを終了
384
-
385
- }
386
-
387
- }
388
-
389
-
390
-
391
- }
392
-
393
- ```
394
-
395
-
396
-
397
- そして、外部ライブラリを含むpythonファイルcalc.pyがこちら
398
-
399
- ```py
400
-
401
- #!/usr/bin/env python
402
-
403
- # coding: utf-8
404
-
405
-
406
-
407
- import matplotlib.pylab as p
408
-
409
- from mpl_toolkits.mplot3d import Axes3D
410
-
411
- from numpy import*
412
-
413
-
414
-
415
- print("Initialinzation")
416
-
417
- Nmax=100;Niter=50;V=zeros((Nmax,Nmax),float);d=10;a=45;xedge=10;t=10;r=pi
418
-
419
-
420
-
421
- print("Working hard,wait for the figure while I count to 60")
422
-
423
- for k in range(xedge,Nmax-xedge):
424
-
425
- for l in range(a,a+t):
426
-
427
- V[k,l]=-100
428
-
429
- for l in range(a+d,a+d+t):
430
-
431
- V[k,l]=100
432
-
433
-
434
-
435
- for iter in range(Niter):
436
-
437
- if iter%10 == 0:print(iter)
438
-
439
- for i in range(1,Nmax-2):
440
-
441
- for j in range(1,a-1):
442
-
443
- V[i,j]=0.25*(V[i+1,j]+V[i-1,j]+V[i,j+1]+V[i,j-1])
444
-
445
- for j in range(a+t+1,a+d-1):
446
-
447
- V[i,j]=0.25*(V[i+1,j]+V[i-1,j]+V[i,j+1]+V[i,j-1])
448
-
449
- for j in range(a+d+t+1,Nmax-2):
450
-
451
- V[i,j]=0.25*(V[i+1,j]+V[i-1,j]+V[i,j+1]+V[i,j-1])
452
-
453
- x=range(0,Nmax,2);y=range(0,Nmax,2)
454
-
455
- X,Y=p.meshgrid(x,y)
456
-
457
-
458
-
459
- def functz(V):
460
-
461
- z=V[X,Y]
462
-
463
- return z
464
-
465
-
466
-
467
- Z=functz(V)
468
-
469
- fig=p.figure()
470
-
471
- ax=Axes3D(fig)
472
-
473
- ax.plot_wireframe(X,Y,Z,color="b")
474
-
475
- ax.set_xlabel("X")
476
-
477
- ax.set_ylabel("Y")
478
-
479
- ax.set_zlabel("Potential")
480
-
481
- ax.set_title('Potential of capacita')
482
-
483
- p.show()
484
-
485
-
486
-
487
- print(V[50,a])
488
-
489
- print(V[50,a+5])
490
-
491
- print(V[50,a+t])
492
-
493
- print(V[50,a+d])
494
-
495
- print(V[50,a+d+5])
496
-
497
- print(V[50,a+d+t])
498
-
499
- ```
500
-
501
-
502
-
503
- ### 試したこと
504
-
505
-
506
-
507
247
  どなたかお力添えのほう宜しくお願い致します。

1

「編集依頼を修正」

2019/03/04 09:19

投稿

shun_uchi
shun_uchi

スコア13

test CHANGED
File without changes
test CHANGED
@@ -88,6 +88,278 @@
88
88
 
89
89
 
90
90
 
91
+ p.StartInfo.FileName = @"C:\(ファイルのディレクトリ)\python.exe"; //python.exeの場所を指定
92
+
93
+ p.StartInfo.UseShellExecute = false; //シェルで実行を無効
94
+
95
+ p.StartInfo.CreateNoWindow = true; //Windowを開かないように設定
96
+
97
+
98
+
99
+ //引数にPythonスクリプトを指定
100
+
101
+ p.StartInfo.Arguments = @"C:\(ファイルのディレクトリ)\calc.py";
102
+
103
+
104
+
105
+ p.Start(); //プロセスの実行
106
+
107
+
108
+
109
+ p.WaitForExit(); //プロセスの終了まで待機
110
+
111
+ p.Close(); //プロセスを終了
112
+
113
+ }
114
+
115
+ }
116
+
117
+
118
+
119
+ }
120
+
121
+ ```
122
+
123
+
124
+
125
+ そして、外部ライブラリを含むpythonファイルcalc.がこちら
126
+
127
+ ```py
128
+
129
+ #!/usr/bin/env python
130
+
131
+ # coding: utf-8
132
+
133
+
134
+
135
+ import matplotlib.pylab as p
136
+
137
+ from mpl_toolkits.mplot3d import Axes3D
138
+
139
+ from numpy import*
140
+
141
+
142
+
143
+ print("Initialinzation")
144
+
145
+ Nmax=100;Niter=50;V=zeros((Nmax,Nmax),float);d=10;a=45;xedge=10;t=10;r=pi
146
+
147
+
148
+
149
+ print("Working hard,wait for the figure while I count to 60")
150
+
151
+ for k in range(xedge,Nmax-xedge):
152
+
153
+ for l in range(a,a+t):
154
+
155
+ V[k,l]=-100
156
+
157
+ for l in range(a+d,a+d+t):
158
+
159
+ V[k,l]=100
160
+
161
+
162
+
163
+ for iter in range(Niter):
164
+
165
+ if iter%10 == 0:print(iter)
166
+
167
+ for i in range(1,Nmax-2):
168
+
169
+ for j in range(1,a-1):
170
+
171
+ V[i,j]=0.25*(V[i+1,j]+V[i-1,j]+V[i,j+1]+V[i,j-1])
172
+
173
+ for j in range(a+t+1,a+d-1):
174
+
175
+ V[i,j]=0.25*(V[i+1,j]+V[i-1,j]+V[i,j+1]+V[i,j-1])
176
+
177
+ for j in range(a+d+t+1,Nmax-2):
178
+
179
+ V[i,j]=0.25*(V[i+1,j]+V[i-1,j]+V[i,j+1]+V[i,j-1])
180
+
181
+ """
182
+
183
+ for j in range(a,a+t):
184
+
185
+ V[i,j]=0.25*(V[i+1,j]+V[i-1,j]+V[i,j+1]+V[i,j-1])+pi*(-r)
186
+
187
+ for j in range(a+d,a+d+t):
188
+
189
+ V[i,j]=0.25*(V[i+1,j]+V[i-1,j]+V[i,j+1]+V[i,j-1])+pi*r
190
+
191
+ """
192
+
193
+ x=range(0,Nmax,2);y=range(0,Nmax,2)
194
+
195
+ X,Y=p.meshgrid(x,y)
196
+
197
+
198
+
199
+ def functz(V):
200
+
201
+ z=V[X,Y]
202
+
203
+ return z
204
+
205
+
206
+
207
+ Z=functz(V)
208
+
209
+ fig=p.figure()
210
+
211
+ ax=Axes3D(fig)
212
+
213
+ ax.plot_wireframe(X,Y,Z,color="b")
214
+
215
+ ax.set_xlabel("X")
216
+
217
+ ax.set_ylabel("Y")
218
+
219
+ ax.set_zlabel("Potential")
220
+
221
+ ax.set_title('Potential of capacita')
222
+
223
+ p.show()
224
+
225
+
226
+
227
+ print(V[50,a])
228
+
229
+ print(V[50,a+5])
230
+
231
+ print(V[50,a+t])
232
+
233
+ print(V[50,a+d])
234
+
235
+ print(V[50,a+d+5])
236
+
237
+ print(V[50,a+d+t])
238
+
239
+
240
+
241
+
242
+
243
+ ```
244
+
245
+
246
+
247
+ ### 試したこと
248
+
249
+
250
+
251
+ ここに問題に対して試したことを記載してください。
252
+
253
+
254
+
255
+ ### 補足情報(FW/ツールのバージョンなど)
256
+
257
+
258
+
259
+ ここにより詳細な情報を記載してください。
260
+
261
+ ### 前提・実現したいこと
262
+
263
+ Visual Studio 2017のWFPでGUIを作っています。その際にbuttonからpythonの外部ライブラリ(numpyやmatplotlibなど)を含む.pyファイルを実行したいです。
264
+
265
+
266
+
267
+  現状としてはデバッグするとButtonが表示されたGUIは適切に立ち上がり、C#で書いたShow()関数では文字を表示できました。
268
+
269
+  しかしpythonファイルを実行しようとすると表示されたButtonをクリックしてもpythonファイルが実行されていません。どなたか解決策に関する知見をお持ちではございませんでしょうか?
270
+
271
+
272
+
273
+ 私の開発環境は以下の通りです。
274
+
275
+ ・Visual Studio2017,
276
+
277
+ ・C#,
278
+
279
+ ・python3.6.8
280
+
281
+
282
+
283
+
284
+
285
+ ※参考にしているサイトは以下の通りです。
286
+
287
+ ・[Windows GUIプログラミング入門1 メッセージボックス表示](https://qiita.com/Kosen-amai/items/f9e3df2aa80363f5af5b)
288
+
289
+ ・[第7回 Windowsフォームアプリケーションからパペロを制御してみた](https://smilerobo.com/threads/第7回%e3%80%80windowsフォームアプリケーションからパペロを)
290
+
291
+ ### 該当のソースコード
292
+
293
+
294
+
295
+ メインとなるC#のファイルMainWindow.xaml.csがこちら
296
+
297
+ ```C#
298
+
299
+ using System;
300
+
301
+ using System.Collections.Generic;
302
+
303
+ using System.Diagnostics;
304
+
305
+ using System.Linq;
306
+
307
+ using System.Text;
308
+
309
+ using System.Threading.Tasks;
310
+
311
+ using System.Windows;
312
+
313
+ using System.Windows.Controls;
314
+
315
+ using System.Windows.Data;
316
+
317
+ using System.Windows.Documents;
318
+
319
+ using System.Windows.Input;
320
+
321
+ using System.Windows.Media;
322
+
323
+ using System.Windows.Media.Imaging;
324
+
325
+ using System.Windows.Navigation;
326
+
327
+ using System.Windows.Shapes;
328
+
329
+
330
+
331
+ namespace python_in_cc
332
+
333
+ {
334
+
335
+ /// <summary>
336
+
337
+ /// MainWindow.xaml の相互作用ロジック
338
+
339
+ /// </summary>
340
+
341
+ public partial class MainWindow : Window
342
+
343
+ {
344
+
345
+ public MainWindow()
346
+
347
+ {
348
+
349
+ InitializeComponent();
350
+
351
+ }
352
+
353
+
354
+
355
+ private void Button_Click(object sender, RoutedEventArgs e)
356
+
357
+ {
358
+
359
+ var p = new Process(); //プロセスクラスのインスタンスを生成
360
+
361
+
362
+
91
363
  p.StartInfo.FileName = @"C:\python.exe"; //python.exeの場所を指定
92
364
 
93
365
  p.StartInfo.UseShellExecute = false; //シェルで実行を無効
@@ -98,7 +370,7 @@
98
370
 
99
371
  //引数にPythonスクリプトを指定
100
372
 
101
- p.StartInfo.Arguments = @"C:\Users\calc.py";
373
+ p.StartInfo.Arguments = @"C:\calc.py";
102
374
 
103
375
 
104
376
 
@@ -122,7 +394,7 @@
122
394
 
123
395
 
124
396
 
125
- そして、外部ライブラリを含むpythonファイルcalc.がこちら
397
+ そして、外部ライブラリを含むpythonファイルcalc.pyがこちら
126
398
 
127
399
  ```py
128
400
 
@@ -178,18 +450,6 @@
178
450
 
179
451
  V[i,j]=0.25*(V[i+1,j]+V[i-1,j]+V[i,j+1]+V[i,j-1])
180
452
 
181
- """
182
-
183
- for j in range(a,a+t):
184
-
185
- V[i,j]=0.25*(V[i+1,j]+V[i-1,j]+V[i,j+1]+V[i,j-1])+pi*(-r)
186
-
187
- for j in range(a+d,a+d+t):
188
-
189
- V[i,j]=0.25*(V[i+1,j]+V[i-1,j]+V[i,j+1]+V[i,j-1])+pi*r
190
-
191
- """
192
-
193
453
  x=range(0,Nmax,2);y=range(0,Nmax,2)
194
454
 
195
455
  X,Y=p.meshgrid(x,y)
@@ -236,10 +496,6 @@
236
496
 
237
497
  print(V[50,a+d+t])
238
498
 
239
-
240
-
241
-
242
-
243
499
  ```
244
500
 
245
501
 
@@ -248,266 +504,4 @@
248
504
 
249
505
 
250
506
 
251
- ここに問題に対して試したことを記載してください。
252
-
253
-
254
-
255
- ### 補足情報(FW/ツールのバージョンなど)
256
-
257
-
258
-
259
- ここにより詳細な情報を記載してください。
260
-
261
- ### 前提・実現したいこと
262
-
263
- Visual Studio 2017のWFPでGUIを作っています。その際にbuttonからpythonの外部ライブラリ(numpyやmatplotlibなど)を含む.pyファイルを実行したいです。
264
-
265
-
266
-
267
-  現状としてはデバッグするとButtonが表示されたGUIは適切に立ち上がり、C#で書いたShow()関数では文字を表示できました。
268
-
269
-  しかしpythonファイルを実行しようとすると表示されたButtonをクリックしてもpythonファイルが実行されていません。どなたか解決策に関する知見をお持ちではございませんでしょうか?
270
-
271
-
272
-
273
- 私の開発環境は以下の通りです。
274
-
275
- ・Visual Studio2017,
276
-
277
- ・C#,
278
-
279
- ・python3.6.8
280
-
281
-
282
-
283
-
284
-
285
- ※参考にしているサイトは以下の通りです。
286
-
287
- ・[Windows GUIプログラミング入門1 メッセージボックス表示](https://qiita.com/Kosen-amai/items/f9e3df2aa80363f5af5b)
288
-
289
- ・[第7回 Windowsフォームアプリケーションからパペロを制御してみた](https://smilerobo.com/threads/第7回%e3%80%80windowsフォームアプリケーションからパペロを)
290
-
291
- ### 該当のソースコード
292
-
293
-
294
-
295
- メインとなるC#のファイルMainWindow.xaml.csがこちら
296
-
297
- ```C#
298
-
299
- using System;
300
-
301
- using System.Collections.Generic;
302
-
303
- using System.Diagnostics;
304
-
305
- using System.Linq;
306
-
307
- using System.Text;
308
-
309
- using System.Threading.Tasks;
310
-
311
- using System.Windows;
312
-
313
- using System.Windows.Controls;
314
-
315
- using System.Windows.Data;
316
-
317
- using System.Windows.Documents;
318
-
319
- using System.Windows.Input;
320
-
321
- using System.Windows.Media;
322
-
323
- using System.Windows.Media.Imaging;
324
-
325
- using System.Windows.Navigation;
326
-
327
- using System.Windows.Shapes;
328
-
329
-
330
-
331
- namespace python_in_cc
332
-
333
- {
334
-
335
- /// <summary>
336
-
337
- /// MainWindow.xaml の相互作用ロジック
338
-
339
- /// </summary>
340
-
341
- public partial class MainWindow : Window
342
-
343
- {
344
-
345
- public MainWindow()
346
-
347
- {
348
-
349
- InitializeComponent();
350
-
351
- }
352
-
353
-
354
-
355
- private void Button_Click(object sender, RoutedEventArgs e)
356
-
357
- {
358
-
359
- var p = new Process(); //プロセスクラスのインスタンスを生成
360
-
361
-
362
-
363
- p.StartInfo.FileName = @"C:\python.exe"; //python.exeの場所を指定
364
-
365
- p.StartInfo.UseShellExecute = false; //シェルで実行を無効
366
-
367
- p.StartInfo.CreateNoWindow = true; //Windowを開かないように設定
368
-
369
-
370
-
371
- //引数にPythonスクリプトを指定
372
-
373
- p.StartInfo.Arguments = @"C:\calc.py";
374
-
375
-
376
-
377
- p.Start(); //プロセスの実行
378
-
379
-
380
-
381
- p.WaitForExit(); //プロセスの終了まで待機
382
-
383
- p.Close(); //プロセスを終了
384
-
385
- }
386
-
387
- }
388
-
389
-
390
-
391
- }
392
-
393
- ```
394
-
395
-
396
-
397
- そして、外部ライブラリを含むpythonファイルcalc.pyがこちら
398
-
399
- ```py
400
-
401
- #!/usr/bin/env python
402
-
403
- # coding: utf-8
404
-
405
-
406
-
407
- import matplotlib.pylab as p
408
-
409
- from mpl_toolkits.mplot3d import Axes3D
410
-
411
- from numpy import*
412
-
413
-
414
-
415
- print("Initialinzation")
416
-
417
- Nmax=100;Niter=50;V=zeros((Nmax,Nmax),float);d=10;a=45;xedge=10;t=10;r=pi
418
-
419
-
420
-
421
- print("Working hard,wait for the figure while I count to 60")
422
-
423
- for k in range(xedge,Nmax-xedge):
424
-
425
- for l in range(a,a+t):
426
-
427
- V[k,l]=-100
428
-
429
- for l in range(a+d,a+d+t):
430
-
431
- V[k,l]=100
432
-
433
-
434
-
435
- for iter in range(Niter):
436
-
437
- if iter%10 == 0:print(iter)
438
-
439
- for i in range(1,Nmax-2):
440
-
441
- for j in range(1,a-1):
442
-
443
- V[i,j]=0.25*(V[i+1,j]+V[i-1,j]+V[i,j+1]+V[i,j-1])
444
-
445
- for j in range(a+t+1,a+d-1):
446
-
447
- V[i,j]=0.25*(V[i+1,j]+V[i-1,j]+V[i,j+1]+V[i,j-1])
448
-
449
- for j in range(a+d+t+1,Nmax-2):
450
-
451
- V[i,j]=0.25*(V[i+1,j]+V[i-1,j]+V[i,j+1]+V[i,j-1])
452
-
453
- x=range(0,Nmax,2);y=range(0,Nmax,2)
454
-
455
- X,Y=p.meshgrid(x,y)
456
-
457
-
458
-
459
- def functz(V):
460
-
461
- z=V[X,Y]
462
-
463
- return z
464
-
465
-
466
-
467
- Z=functz(V)
468
-
469
- fig=p.figure()
470
-
471
- ax=Axes3D(fig)
472
-
473
- ax.plot_wireframe(X,Y,Z,color="b")
474
-
475
- ax.set_xlabel("X")
476
-
477
- ax.set_ylabel("Y")
478
-
479
- ax.set_zlabel("Potential")
480
-
481
- ax.set_title('Potential of capacita')
482
-
483
- p.show()
484
-
485
-
486
-
487
- print(V[50,a])
488
-
489
- print(V[50,a+5])
490
-
491
- print(V[50,a+t])
492
-
493
- print(V[50,a+d])
494
-
495
- print(V[50,a+d+5])
496
-
497
- print(V[50,a+d+t])
498
-
499
- ```
500
-
501
-
502
-
503
- ### 試したこと
504
-
505
-  C#のファイルにあるButtonをクリックしてもcalc.pyの計算結果が表示されないという問題に直面しております。
506
-
507
-
508
-
509
-  もちろんcalc.pyはコマンドプロンプトから実行できています。
510
-
511
-
512
-
513
507
  どなたかお力添えのほう宜しくお願い致します。