Matlab 创建个人信息列表的函数

Matlab 创建个人信息列表的函数,matlab,function,text,Matlab,Function,Text,我有这个功能 fid = fopen(filename,'w'); if exist('fid') check = true; else check = false; end for i=1:length(persons) fprintf(fid, '%s\n',serialize_person(persons(i))); end end serialize_person在哪里 function [output] = serialize_person(per

我有这个功能

fid = fopen(filename,'w');

if exist('fid')
    check = true;
else
    check = false;
end


for i=1:length(persons)   
    fprintf(fid, '%s\n',serialize_person(persons(i)));
end
end
serialize_person在哪里

function [output] = serialize_person(person)

fprintf ( '<%s>#' , person.name ) ;
serialize_date ( person.date_of_birth ) ;
fprintf ( '#<%i>\n' , person.phone ) ;

end
function[output]=serialize\u person(person)
fprintf(“#”,person.name);
序列化_日期(person.date_出生日期);
fprintf(“#\n”,person.phone);
结束
这是一个个人签名,写上“姓名、日期、月份、年份、电话号码” 首先,我需要将它作为“output”中的单个文本字符串显示出来,以便它(我假设)在第一个函数中工作,我将如何进行

其次,第一个函数是一个文件名和一个人员单元。我希望它出现在一个名为“filename”的文本文件中,每行一个personalia。 昨天我让它一直工作到for循环,但不知怎么的,今天我无法越过第一行而不出现错误消息。
你能在这里给我一些建议吗,我不知道出了什么问题。

要将输出写入字符数组而不是控制台,请使用
sprintf
。另外,要在字符串之间使用“
”连接字符串。
,请尝试设置分隔符的“
strjoin
”:

function [output] = serialize_person(person)
    delim = '.';
    output = strjoin(sprintf ( '<%s>#' , person.name ), ...
                     serialize_date ( person.date_of_birth ), ...
                     sprintf ( '#<%i>\n' , person.phone ), delim);

end
function[output]=serialize\u person(person)
delim=';
output=strjoin(sprintf('#',person.name)。。。
序列化\u日期(person.date\u出生日期)。。。
sprintf('#\n',person.phone),delim;
结束

类似地修改
serialize\u date

这个问题运气好吗?