How to run Matlab function inside simulink?
2 vues (au cours des 30 derniers jours)
Afficher commentaires plus anciens
I have a written code of motor which works very well in Matlab. I need to connect this code to Simulink and for this, I am using Matlab function block inside SIMULINK.
My code has a sub-function. I need to define some parameters for my sub-function but every time I will get an error.
Any idea?!
I wrote this code inside the Matlab function block:
function y = fcn(u)
global B_bank DLarbr_bank DLbrcr_bank DLarcr_bank DLrarc_bank DLrbrc_bank Rr DLSR Ras Rbs Rcs
load('B_bank.mat');load('DLarbr_bank.mat');load('DLarbr_bank');load('DLbrcr_bank.mat');load('DLarcr_bank.mat');load('DLrarc_bank.mat');load('DLrbrc_bank.mat');load('Rr');load('DLSR');
Va=u(1)
Vb=u(2)
Vc=u(3)
t=u(4)
[result]=ode45('Sub_Func',t,zeros(50,1)); % Maine code
y = result;
The error is :
Global declaration not resolved to a Data Store Memory block registered via the Ports and Data Manager.
Function 'MATLAB Function' (#50.115.121), line 4, column 1:"B_bank" Launch diagnostic report.
Thanks for your help.
0 commentaires
Réponses (2)
Walter Roberson
le 30 Oct 2016
You need to take extra steps for global data. See https://www.mathworks.com/help/simulink/ug/using-global-data-with-the-matlab-function-block.html
Danilo Teran
le 4 Déc 2018
Hi
I am sorry how did you resolve this problem. I am having a similar problem and i didn't find a way to solve it.
Thanks in advance
0 commentaires
Voir également
Catégories
En savoir plus sur Simulink Functions 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!