Scilab和Octave都是免费的科学计算软件。
把两则结合可以综合两则的优势,实现更多的功能。
Scilab和Octave的数据共享,主要通过MAT格式数据文件实现。
Octave导出数据到文件
把Octave的数据保存到MAT文件中
%% start set variant, and save to mat for scilab to load
k=1.5; %Gain
stp=2; %Set point
Tau=1.5; %Time constant
Tf=7; %Simulation time
save('sci_vars_transfer.mat','-v7','k','stp','Tau','Tf');
Scilab载入数据文件
如下例
// load mat file
loadmatfile('sci_vars_transfer.mat');
载入完成后,Scilab的当前工作空间就会增加k,stp,Tau,Tf等变量。
Scilab计算完成后,把数据保存到MAT
把result保存到MAT文件中
// save mat file
savematfile('sci_vars_res_transfer.mat','result','-v7');
Octave 载入数据文件
载入文件,Octave的工作空间会增加result变量,可以对result做后续处理,如下例用于做图
%% load scilab response, and plot
load sci_vars_res_transfer.mat;
stairs(result.time, result.values,'-b','LineWidth',2)
注意Scilab和Octave通过MAT进行数据交换时,会有少量的数据类型不支持,如果出现这类问题,请对数据进行转换后再处理。
网友评论