全部版块 我的主页
论坛 数据科学与人工智能 数据分析与数据科学 MATLAB等数学软件专版
2226 2
2008-11-04

本人英语太差,编程不太懂,请您帮忙解释一下每行的意思,谢谢!

fid=fopen('out.txt','r');
[n,C]=fscanf(fid,'%d',[1,1]);
[p,C]=fscanf(fid,'%f',[14,n]);
fclose(fid);


res=zeros(1,n);
for i=1:n
      r=roots(p(1:14,i));
      for j=1:13
         if abs(r(j))>=r(j)&&abs(r(j))<=r(j)
             res(i)=r(j);
          end;
        end;
end;


res


fid=fopen('roots.txt','w');
fprintf(fid,'%f\n',res);
fclose(fid);

二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

全部回复
2008-11-5 13:40:00

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编辑过]

二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

2008-11-19 16:07:00
very good!
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

相关推荐
栏目导航
热门文章
推荐文章

说点什么

分享

扫码加好友,拉您进群
各岗位、行业、专业交流群