我在调用mtalab中的readtable函数来读取CSV文件,写了一个子函数,前段时间都能运行的,但是今天开始却运行失败,报错:inputs 必须为字符串数组、字符向量或字符向量元胞数组。CSV文件都是同一个代码运行接收信号生成的数据
function reset = read_file(filename)
%读取 CSV 文件
temp = readtable(filename);
all_arrays = zeros(length(temp.data), length( (jsondecode(strrep(temp{:,end}{1},'"', '')))') );
for i=1:length(temp.data)
% 获取最后一列的所有行
last_column_string = temp{:, end}{i};
% last_column_string = jsonString{i};
% 去掉引号
last_column_string = strrep(last_column_string, '"', '');
% 将字符串解析为 MATLAB 数组
last_array = (jsondecode(last_column_string))';
all_arrays(i,:) = last_array;
end
%data数据转化成复数格式 all_arrays已经是一个实虚部交替的N*104的二维实虚交替数组,我只需要100*52的复数矩阵
[numRows,numCols]=size(all_arrays);
CSI_temp=zeros(numRows,52);%构造一个N*52的数组,用来存放转化后的复数矩阵
for j=1:numRows
for k=1:2:numCols
CSI_temp(j,(k+1)/2)=complex( all_arrays(j,k),all_arrays(j,k+1) );%调用complex函数生成复数
end
end
reset = CSI_temp' ;
相似问题