How to access a matlab function within a forloop from python
1 vue (au cours des 30 derniers jours)
Afficher commentaires plus anciens
Hello All,
I am trying to access a matlab function from python. I have carried out all the initial setup steps and I am also able to acess a simple script and functions from python. However, I want to access a matlab function within a forloop from python. This is the previous reference link which I used.
file1= Test1.m
classdef Test1 < handle
properties (Access = private)
input1 =0;
input2 = 0;
end
methods
function out1 = ADD_1(this,i1,i2)
% Test1.input1 = i1;
% Test1.input2 = i2;
%
% out1 = Test1.input1 + Test1.input2;
%
this.input1 = i1;
this.input2 = i2;
% out1 = this.input1 + this.input2;
out1 = i1 + i2;
plot(out1);
end
function out2 = SUB_1(this,out1)
out2 = out1 - 1;
end
end
end
file2 = call_Test1.m
obj1 = Test1();
out_store = [];
for i = 1:5
o1 = obj1.ADD_1(12,i);
o2 = obj1.SUB_1(o1);
out_store = [out_store;o1,o2];
end
disp(out_store);
plot(out_store);
in python,
import matlab.engine
eng = matlab.engine.start_matlab()
eng.addpath(r'C:\Users\Mat2Py_code_test', nargout = 0)
myobj = eng.Test1()
How to proceed further to call this Test1.m file from python which further accesses call_Test1.m
0 commentaires
Réponses (1)
Harry Vancao
le 12 Oct 2018
If you are interested in calling the script from call_Test1.m, you can simply convert that into a function itself and call it from python. Some documentation detailing this process can be found here: https://www.mathworks.com/help/matlab/matlab_external/call-user-script-and-function-from-python.html
If you are interested in calling the functions from within a for loop, you can instantiate an instance of the MATLAB object Test1() and then proceed to call the MATLAB function from within a python for-loop.
myobj = eng.Test1()
for i in range(5):
func1_out = end.ADD_1(myobj, 10, 20)
0 commentaires
Voir également
Catégories
En savoir plus sur Call Python from MATLAB dans Help Center et File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!