PDA

查看完整版本 : [求助]怎么表示关于 x,y的 n 阶多项式?


闻风听雨
2009-03-22, 01:29
大家好,在MATLAB中,怎么表示关于 x,y的 n 阶多项式(2个变量),在网上找了好久,都沒找到相关资料,:cry: 特来这里求助,各位高手能否指点一下?先谢过了

xiezhh
2009-03-22, 08:20
是符号表达吧,不知道是不是这样的

%如果n也是符号
syms x y n
f1=(x+y)^n
%如果n是已知常数
f2=(x+y)^10
f3=expand(f2)
%若已知多项式系数,写出x的多项式
p=[1 2 3 4 5 6]; %系数(降幂排列)
f4=poly2sym(p,x)

闻风听雨
2009-03-22, 10:38
谢谢,在这个表达式中,每一项的幂不一定相等,例如f(x,y)=3x^3+2y^2+3xy+5,所以这才麻烦

zhyanchao
2009-03-22, 12:56
以f(x,y)=3x^3+2y^2+3xy+5为例,如下:
syms x y;
a=[x^3;x^2;x;1];
b=[y^3 y^2 y 1];
c=a*b;
d=zeros(4);
d(1,4)=3;d(3,3)=3;d(4,2)=2;d(4,4)=1;
n=d.*c;
f=sum(sum(n,2))
f =

3*x^3+3*x*y+2*y^2+1

闻风听雨
2009-03-22, 20:15
谢谢
不过,在这个M函数中,f(x,y)多项式形式未知(x,y的n阶多项式,每一项的幂不一定相等),也即求f(x,y)的一般表达式
如果只有一个变量x
则 p=[2 3 4]
sym_p=poly2sym(p) 即可表达2*x^2 + 3*x + 4
如果有两个变量x,y该怎么表达呢?

laosam280
2009-03-25, 17:41
你都知道了函数的表达式,你不就可以用inline('fun') 函数来表示吗?呵呵