m0_56748399 2021-07-03 00:58 采纳率: 50%
浏览 355

matlab辗转相除法求最大公因式

代码如下
function divisionf(f,g)
s1=char(poly2sym(f));
s2=char(poly2sym(g));
format rat
[,r]=deconv(f,g);
if r==zeros(size(r))
if length(f)>length(g)
fprintf('最大公因式为%s.\n',s2);
return
else
fprintf('最大公因式为%s.\n',s1);
return
end
end
while r(1)==0
r(1)=[];
while r
=zeros(size(r))
f=g;
g=r;
[~,r]=deconv(f,g);
if r==zeros(size(r))
if length(g)==1
g=1;
end
s=char(poly2sym(g));
fprintf('多项式%s和%s的最大公因式为:%s.\n',s1,s2,s);
return
end
end
end
end

输出结果
divisionf(f, g)
多项式x^3 - 3x^2 - 4x + x^4 - 1和x^2 - x + x^3 - 1的最大公因式为:1.
这里最大公因式应该是x+1

求大佬指点

  • 写回答

1条回答 默认 最新

  • 王大师王文峰 企业官方账号 2023-02-21 14:36
    关注

    望采纳
    您的代码中有一处错误,应该将while r=zeros(size(r))改为while r~=zeros(size(r)),这样才能正确计算出最大公因式。

    评论

报告相同问题?

悬赏问题

  • ¥15 乘性高斯噪声在深度学习网络中的应用
  • ¥15 运筹学排序问题中的在线排序
  • ¥15 关于docker部署flink集成hadoop的yarn,请教个问题 flink启动yarn-session.sh连不上hadoop,这个整了好几天一直不行,求帮忙看一下怎么解决
  • ¥30 求一段fortran代码用IVF编译运行的结果
  • ¥15 深度学习根据CNN网络模型,搭建BP模型并训练MNIST数据集
  • ¥15 C++ 头文件/宏冲突问题解决
  • ¥15 用comsol模拟大气湍流通过底部加热(温度不同)的腔体
  • ¥50 安卓adb backup备份子用户应用数据失败
  • ¥20 有人能用聚类分析帮我分析一下文本内容嘛
  • ¥30 python代码,帮调试,帮帮忙吧