Problem with matrices between Python and Matlab

9 views (last 30 days)
Hi everyone,
I'm starting with matlab and I would like tu use a matlab function in python (gflineq) to solve a linear equation. However, it doesn't work as matrices are not represented the same way in python and matlab. How can I edit my program in order to make it work ?
Thank you !!
  2 Comments
Rik
Rik on 25 May 2023
Did you try creating the matrix as a vector and using reshape to make it the correct dimensions?
Gautier
Gautier on 25 May 2023
Yes I tried but the problem was the same for vectors.

Sign in to comment.

Accepted Answer

Karthik
Karthik on 25 May 2023
Hello Gautier,
I Understand that you are trying to use MATLAB "gflineq" in python and are facing issues passing NumPy/Python based arrays to this function.
The following Example Code shows how we can pass python arrays to MATLAB gflineq function.
import matlab.engine
import numpy as np
# Start MATLAB engine
eng = matlab.engine.start_matlab()
# Define the matrix A and the vector b
A = np.matrix([[1,0,0],
[1,1,1],
[1,1,1],
[0,1,1]])
b = matlab.double([[1], [0], [0], [1]]) # Make b a column vector
# Convert A to MATLAB's double type
A = matlab.double(A.tolist())
x= eng.gflineq(A, b)
# Convert the output to NumPy arrays
x = np.array(x)
# Display the results
print("x =", x)
You can refer to the following links for more details:
Thanks,
Karthik.

More Answers (0)

Products


Release

R2023a

Community Treasure Hunt

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

Start Hunting!