电机控制中,我们常用电机目标扭矩、电机实际转速、母线电压 查表 得出标定的 Id/Iq Map, 这个Map的数据量是比较大的,
在Matlab和Excel之间导入、导出数据的方法如下:
% 1. IDQ 4-D MAP 数据从工作空间导出到Excel
IDQ_MAP = CAL_TqCtrl_IdqRef_MAP;
Map_280V_Id = IDQ_MAP.Value(:,:,1,1);
Map_320V_Id = IDQ_MAP.Value(:,:,2,1);
Map_280V_Iq = IDQ_MAP.Value(:,:,1,2);
Map_320V_Iq = IDQ_MAP.Value(:,:,2,2);
%Step2: 创建空白的Mot_IDQ_MAP表格
filename = 'Mot_IDQ_MAP.xlsx';
writematrix(Map_280V_Id,filename,'Sheet','Map_280V_Id');
writematrix(Map_320V_Id,filename,'Sheet','Map_320V_Id');
writematrix(Map_280V_Iq,filename,'Sheet','Map_280V_Iq');
writematrix(Map_320V_Iq,filename,'Sheet','Map_320V_Iq');
%2. IDQ 4-D MAP数据从Excel导入的Matlab
%Step1:获取表格内容到IDQ_MAP
%[filename,path] = uigetfile('.xlsx');
%inputfilepath = [path,filename];
%IDQ_MAP.Value(:,:,1,1); = readcell(inputfilepath,'Sheet',1); %提取指定sheet内容
%IDQ_MAP.Value(:,:,2,1); = readcell(inputfilepath,'Sheet',2); %提取指定sheet内容
%IDQ_MAP.Value(:,:,1,2); = readcell(inputfilepath,'Sheet',3); %提取指定sheet内容
%IDQ_MAP.Value(:,:,2,2); = readcell(inputfilepath,'Sheet',4); %提取指定sheet内容