How to pass a variable from one file to another?
조회 수: 4 (최근 30일)
이전 댓글 표시
Hi all, I have a matlab function block in Simulink with a feedback. The input to the function is a constant that changes with the time. The function calls another function includes ode15s (File1) that must get their equations from another file (File2). I want to pass the value of B from the main matlab function file to File2 to be used there. I used global but that did not work. Any idea?
Matlab Function File:
function y = fcn(B)
...
y=File1
%-----------------------------
File 1
function [t,x]=File1
....
[t,x] = ode15s(@File2,tspan,x0,opt);
%-----------------------------------
File2
function out= File2(t,x)
...
out=[some equations that use "B" as a constant]
%-----------------------------------------------------
![](https://www.mathworks.com/matlabcentral/answers/uploaded_files/160901/image.png)
%
채택된 답변
Walter Roberson
2017년 2월 20일
Do not use global for that purpose.
댓글 수: 7
Walter Roberson
2017년 2월 22일
If you have multiple functions in the same file, make sure each is terminated with "end" as soon as it is finished.
function y = fcn(B)
...
y = File1(B)
end
%-----------------------------
function [t,x] = File1(B)
....
[t,x] = ode15s(@(t,x) File2(t,x,B), tspan, x0, opt);
end
%-----------------------------------
function out = File2(t, x, B)
...
out=[some equations that use "B" as a constant]
end
%----------------------------------------------------
추가 답변 (1개)
참고 항목
카테고리
Help Center 및 File Exchange에서 Discrete Events and Mode Charts에 대해 자세히 알아보기
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!