Computer halts when running Python API functions

2 次查看(过去 30 天)
I am doing research in power system partition using matpower and results have to be plotted. Matlab is weak in such plotting so I decided to use Python igraph and its API. I have done some little test for its validation like this:
AA=[1 0;0 1;];
import py.igraph.*;
list=py.list([1 2]);
adj=py.numpy.random.randint(0,2);
% AA=py.list(AA);
g=Graph();
g.Adjacency(AA);
The 3rd line is for py.list() test and is not closely relevant. .If it is run as it is,annotated, there will be error report like this:
error in py.igraph.Graph.Adjacency
Python function "Adjacency" cannot accept input at least 1 arguments at postion 1。This function might need you to construct certain dataform from MATLAB arrays.Please refer to documents regarding Python function "Adjacency" and Python arrays.
(Original error report in Chinese since I am using a Chinese version MATLAB.This is translation and might not be that accurate)
If the annotated line is not annotated, the computer will crash(halt) and I have to restart the computer. I really dont know why and would somebody help me use this function corretly?

采纳的回答

Meme Young
Meme Young 2019-12-16
OK it is done. Matlab matrices have to be reshaped then py.list() then py.numpy.reshape() then py.list() to create adjacency matrix for igraph.Adjacency().
AA=[1,0;0,1;];
AA=reshape(AA,1,2*2);
import py.igraph.*;
AA1=py.list(AA);
AA2=py.numpy.reshape(AA1,[int8(2),int8(2)]);
AA3=py.list(AA2);
g=Graph();
g.Adjacency(AA3);
plot(g);

更多回答(0 个)

类别

Help CenterFile Exchange 中查找有关 Call Python from MATLAB 的更多信息

产品


版本

R2018b

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by