用matlab求最大公因式问题,例如设f(x)=4*x^4-2*x^3-16*x^2+5*x+9, g(x)=2*x^3-x^2-5*x+4,

求d(x),u(x),v(x),使得u(x)f(x)+v(x)g(x)=d(x);用MATLAB编程>>clear>>symsx>>f=4*x^4-2*x^3-16*x^... 求d(x),u(x),v(x),使得u(x)f(x)+v(x)g(x)=d(x);
用MATLAB编程
>> clear
>> syms x
>> f=4*x^4-2*x^3-16*x^2+5*x+9;
>> g=2*x^3-x^2-5*x+4;
>> [d,u,v]=gcd(f,g)
这样才行;
a=[4 -2 -16 5 9];b=[2 -1 -5 4];
>> f=poly2str(a,’x’);
>> g=poly2str(b,’x’);
>> [d,u,v]=gcd(f,g)
这样就不行了呢?
提示gcd输入的格式必须相同;
求高手解答;
第二种方法该怎样改才行呢?
展开
 我来答
tornadocf01
2010-10-10 · TA获得超过565个赞
知道小有建树答主
回答量:167
采纳率:0%
帮助的人:106万
展开全部
看楼主的问题,可以知道matlab已经有了一定基础。
第一种方法可行,是因为f,g都是字符串函数,gcd命令可以正确使用。
但第二种方法,f,g类似于一个矩阵,而且大小还不一样,所以会出错。
不知道我讲明白了没有。
你可以分别运行俩种方法的size(f)看效果。
houxiongpo
2010-10-10 · 超过19用户采纳过TA的回答
知道答主
回答量:34
采纳率:0%
帮助的人:41.1万
展开全部
第一种程序中,f和g都是(1*1syms),即符号型标量。
后一种程序转成的f和g都是char,字符串。因为两者长度不一样,所以GCD没法运算。用这种方式,即使将g补充成0*x^4+2*x^3……,也不一顶能得到你想要的结果。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
eigostein
2010-10-10 · TA获得超过230个赞
知道小有建树答主
回答量:27
采纳率:0%
帮助的人:38.7万
展开全部
正确答案:
第二种方法中函数poly2str,替换为poly2sym即可
f=poly2sym(a,’x’);
g=poly2sym(b,’x’);
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式