用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输入的格式必须相同;
求高手解答;
第二种方法该怎样改才行呢? 展开
用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输入的格式必须相同;
求高手解答;
第二种方法该怎样改才行呢? 展开
3个回答
展开全部
第一种程序中,f和g都是(1*1syms),即符号型标量。
后一种程序转成的f和g都是char,字符串。因为两者长度不一样,所以GCD没法运算。用这种方式,即使将g补充成0*x^4+2*x^3……,也不一顶能得到你想要的结果。
后一种程序转成的f和g都是char,字符串。因为两者长度不一样,所以GCD没法运算。用这种方式,即使将g补充成0*x^4+2*x^3……,也不一顶能得到你想要的结果。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
正确答案:
第二种方法中函数poly2str,替换为poly2sym即可
f=poly2sym(a,’x’);
g=poly2sym(b,’x’);
第二种方法中函数poly2str,替换为poly2sym即可
f=poly2sym(a,’x’);
g=poly2sym(b,’x’);
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询