MATLAB Answers

Computer halts when running Python API functions

1 view (last 30 days)
Meme Young
Meme Young on 16 Dec 2019
Answered: Meme Young on 16 Dec 2019
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?

  0 Comments

Sign in to comment.

Accepted Answer

Meme Young
Meme Young on 16 Dec 2019
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 Comments

Sign in to comment.

More Answers (0)

Community Treasure Hunt

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

Start Hunting!