请问matlab怎么生成 有几个未知数的公式呀?

2019-07-17 14:57发布

请教一个问题matlab怎么生成 有几个未知数的公式呀?
如何生成 y=a*x^b*y^c+d这样的
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
11条回答
社区化
2019-07-18 16:49
MATLAB求多项式的系数:

单变量:

syms x y
f1=x^4+2*x+1;
f2=y^6+5*y^3+3;
f3=x^5+2*x^3*y^4+x*y^2+4;
c = sym2poly(f1)
c =
    1     0     0     2     1
>> c = sym2poly(f2)
c =
    1     0     0     5     0     0     3

多变量:

unction coef=poly_coef(f,var)
%提取多项式f中指定变量var的系数,将结果赋给数组coef
%f可以是含多变量的多项式
%var是多项式中指定的变量,可选,默认是x
%要用到函数poly_degree()来获得f中指定变量var的最高次幂
if nargin==1
var=sym('x');
end
degree=poly_degree(f,var);
temp_f=f;
coef(degree+1)=subs(temp_f,var,0);
for n=1:degree
temp_f=simple((temp_f-coef(degree+2-n))/var);
coef(degree+1-n)=subs(temp_f,var,0);
end
end
举几个例子:
复制内容到剪贴板
代码:

>> syms x y
>> f1=x^4+2*x+1;
>> f2=y^6+5*y^3+3;
>> f3=x^5+2*x^3*y^4+x*y^2+4;
>> poly_coef(f1)

ans =

                               [1, 0, 0, 2, 1]
>> poly_coef(f1,y)

ans =

                               [ 4       ]
                               [x   + 2 x + 1]
>> poly_coef(f2)

ans =

                               [ 6    3 ]
                               [y   + 5 y   + 3]
>> poly_coef(f2,y)

ans =

                            [1, 0, 0, 5, 0, 0, 3]
>> poly_coef(f3)

ans =

                        [       4    2 ]
                        [1, 0, 2 y , 0, y , 4]
>> poly_coef(f3,y)

ans =

                        [ 3          5 ]
                        [2 x , 0, x, 0, x   + 4]

一周热门 更多>