Two Methods of Calling MATLAB Code in LabVIEW
Dec. 28, 2022
LabVIEW官方以求解Lorenz Attractor differential equation(洛伦兹吸引子微分方程)为例,提供了两个调用MATLAB代码的范例,对应着两种调用MATLAB代码的方式。
第一个范例为MATLAB script node - Lorenz Diff Eq.vi
,该示例是通过MATLAB script node
模块承载MATLAB代码。在MATLAB script node
模块中调用的函数需要传入提前传入绝对地址。
该范例的程序框图为:
所对应的前面板为:
第二个范例是MATLAB node - Lorenz Diff Eq.vi
,该范例并不在LabVIEW中键入MALTAB代码,而是直接通过地址来调用函数文件。
程序框图为:
前面板为:
直接调用的函数LorenzDiffEq.m
:
1
2
3
4
5
6
7
8
9
10
11
12
function[t,Y] = LorenzDiffEq()
y= [1, 1, 1];
n = 30 / 0.05;
% Generate a vector of values which are
% linearly spaced between 0 and 30
T = linspace(0, 30, n);
% Solve nonstiff differential equations — low order method
[t, Y] = ode23('LorenzEqs',T, y );
end
使用第二种方式需要注意的是:
-
打开MATLAB会话
(Open MATLAB Session Function)、调用MATLAB函数
(Call MATLAB Function)和关闭MATLAB会话
(Close MATLAB Session Function)这三个函数需要一起使用。 -
Call MATLAB Function
函数的输出需要进行解除捆绑操作(Unbundle):