MATLAB-如何保存不同长度的向量

MATLAB-如何保存不同长度的向量,matlab,file,vector,Matlab,File,Vector,我创建了一个包含向量的文件,这些向量的元素之间可能有空白 -77.4 1 0.17 260 88 1004.0 1006.5 -77.3 1 0.17 1009.2 1011.8 我使用fprintf()函数逐行保存文件'myfile.txt' 嗯,当我用命令加载文件时,load('myfile.txt')我收到一条错误消息“第行的列数…必须与前面的行相同” 我怎样才能修好它?也许用另一种方法保存行向量?怎么办 谢谢您最好使用@maxy

我创建了一个包含向量的文件,这些向量的元素之间可能有空白

-77.4  1   0.17    260     88 1004.0 1006.5 
-77.3  1   0.17               1009.2 1011.8 
我使用fprintf()函数逐行保存文件'myfile.txt'

嗯,当我用命令加载文件时,load('myfile.txt')我收到一条错误消息“第行的列数…必须与前面的行相同”

我怎样才能修好它?也许用另一种方法保存行向量?怎么办


谢谢

您最好使用@maxywb在其评论中所述的
保存
命令,但是如果您发现自己的文本文件的列号不一致,您可以逐行解析文件并将结果保存到单元格数组中

fid = fopen('myFile.txt','r');
values = {};
count = 1;
tline = fgets(fid);
while ischar(tline)
    values{count} = textscan(tline,'%f','delimiter',', ');
    count = count+1;
    tline = fgets(fid);
end
fclose(fid)

使用
save
命令保存.mat文件。如果需要另存为文本,请使用空格以外的分隔符,例如逗号。这在阅读文件时可能会有所帮助如果你可以将空位置保存为NaN,请查看@LuisMendo:我将整个向量保存为一行,无法放置分隔符OK谢谢,这可能是一个很好的解决方案,但如果我可以创建一个新的“myFile.txt”,我应该创建一个包含单元格值的新文件(如你所建议的)你认为怎样做比较好?我希望逐行保存(不是单个值)