【Matlab & Scilab】Matlab平替!将Matlab工作区数据转移到Scilab

由于各种原因,在另一台设备上不能用Matlab显示数据

因此找到了一款Matlab的免费开源替代软件——Scilab
达索公司的,最新版本100多M,非常适合临时用来显示数据

但Scilab似乎不能直接导入Matlab的.mat文件,因此本文:

  1. 提供将Matlab工作区所有数据分别保存到不同的csv文件
  2. 提供将文件夹下所有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;
  • 7
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值