How to run Matlab function inside simulink?

3 次查看(过去 30 天)
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.

回答(2 个)

Walter Roberson
Walter Roberson 2016-10-30
  1 个评论
Babak
Babak 2016-11-1
编辑:Babak 2016-11-1
Thank you, Walter, for the link. I spent one day to figure it out but still get an error. I made a one minute video about the procedure. I appreciate if you have a look and let me know what is wrong. ( Apologies in advance for trademark) https://www.youtube.com/watch?v=RAnTjvzRdcY
Error is: "Variable 'B_bank' is resolved in the workspace ('base') for block 'test1/MATLAB Function' but it is not a 'Simulink.Signal' object."
Some explanation about my code: I have 9 matrixes with different sizes which I need to make them global.
The function (sys_FINAL) inside the MATLAB Function, calls these matrixes.

请先登录,再进行评论。


Danilo Teran
Danilo Teran 2018-12-4
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

类别

Help CenterFile Exchange 中查找有关 Simulink Functions 的更多信息

Community Treasure Hunt

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

Start Hunting!

Translated by