fid=fopen('out.txt','r'); %以只读方式打开已经存在的当前路径下的文件out.txt
[n,C]=fscanf(fid,'%d',[1,1]); % 读取一个十进制数字
[p,C]=fscanf(fid,'%f',[14,n]); % 读取14行n列的浮点型数字
fclose(fid);
res=zeros(1,n); %生成1行n列的0向量
for i=1:n %for 循环
r=roots(p(1:14,i)); %对以p(1:14,i)为参数的多项式求根
for j=1:13 %for 循环
if abs(r(j))>=r(j)&&abs(r(j))<=r(j) %检查r(j)是否为非负数(这个逻辑表达式有点怪)
res(i)=r(j); %若满足条件将r(j)保存到res(j)
end;
end;
end;
res %输出res的结果
fid=fopen('roots.txt','w'); %以写的方式打开(创建)roots.txt
fprintf(fid,'%f\n',res); %将res的结果输出到文件roots.txt
fclose(fid); %关闭文件并保存
[此贴子已经被作者于2008-11-5 13:43:37编辑过]