由于各种原因,在另一台设备上不能用Matlab显示数据
因此找到了一款Matlab的免费开源替代软件——Scilab
达索公司的,最新版本100多M,非常适合临时用来显示数据
但Scilab似乎不能直接导入Matlab的.mat文件,因此本文:
- 提供将Matlab工作区所有数据分别保存到不同的csv文件
- 提供将文件夹下所有csv文件导入Scilab,并以文件名命名
Matlab保存所有工作区变量到csv文件
% *************************************************************************
% Function: 将.mat文件所有数据保存到文件名的CSV文件中
% Date: 2024/04/18
% Platform: Matlab
% Author: Lnnny
% *************************************************************************
clear;clc;
load('..\RCDTest\xxx.mat'); % 加载mat文件
dataName = string(who); % 获取工作区所有变量
saveDir = 'D:\xxx\'; % 保存目录
for i = 1:length(dataName)
% 写入CSV文件
csvwrite(strcat(saveDir,dataName(i),'.csv'), evalin('base', dataName(i)));
end
Scilab读取所有csv文件到工作区变量
Scilab很多命令和Matlab一模一样
但这里主要用的是Matlab的eval
命令,在Scilab中是execstr
/**************************************************************************
Function: 将文件夹内的所有csv文件读取到工作区中,并以文件名命名
Date: 2024/04/18
Platform: Scilab
Author: Lnnny
**************************************************************************/
clear;clc;
folderPath = 'F:\xxx\xxx\';
fileNames = dir(fullfile(folderPath,'*.csv')).name; // 读取目录下所有CSV文件目录
for i = 1:size( fileNames, 1 )
fileName = fileparts(fileNames(i),'fname'); // 从CSV文件目录中提取CSV文件名
// 读取CSV文件到工作区
execstr(strcat([fileName "=" "csvRead(fileNames(i))"]));
end
clear folderPath i fileName;