matlab如何取多项式系数例如num=4s^4+3.2s^3+s^2+s+1如何得到系数(4,3.2,1,1,1)按s

matlab如何取多项式系数例如num=4s^4+3.2s^3+s^2+s+1如何得到系数(4,3.2,1,1,1)按s,第1张

syms s

>> num=4s^4+32s^3+s^2+s+1

num =

4s^4+16/5s^3+s^2+s+1

>> sym2poly(num)

ans =

40000 32000 10000 10000 10000

鉴于好像这里没有人给出一个Mathematica的解法,这里答一下。

首先要指出的是,对于非多项式问题的系数提取,应该是没有普遍的讨论方式的,需要结合具体表达式形式做具体分析。不过你这个式子比较特殊,所以还挺好弄的。首先把你的式子弄成Mathematica的语法(这个用记事本做下查找替换就行):

expression = -1/2(-2(wn^2(b - 1)(b + 1))^(1/2) +

  exp@ (-twnb)(wn^2(b - 1)(b + 1))^(1/2)

   exp@ (t(wn^2(b - 1)(b + 1))^(1/2)) +

  exp@ (-twnb)(wn^2(b - 1)(b + 1))^(1/2)

   exp@ (-t(wn^2(b - 1)(b + 1))^(1/2)) +

  exp@ (-twnb)wnbexp@ (t(wn^2(b - 1)(b + 1))^(1/2)) -

  exp@ (-twnb)wnb

   exp@ (-t(wn^2(b - 1)(b + 1))^(1/2)))/(wn^2(b - 1)(b + 1))^(1/

   2)

这里可能会有懂Mathematica的同学跳出来说“诶你这个替换没做全啊你的exp首字母要大写”,嗯,没错,在做一般计算的时候是应该这样,但是因为这里我们是要看特定项的系数,所以使用小写的exp(也就是一个一般化的头部)反而方便,因为内置的指数函数Exp会自动计算合并同类项,破坏原有的表达式结构。剩下的嘛,就简单了,求相应的系数在Mathematica里是内置了的:

Coefficient[expression, exp@(t(wn^2(b - 1)(b + 1))^(1/2))]

下面的Collect是按相应项做同类项合并的函数。怎么样,比matlab可读性好多了吧?

在Matlab下输入:edit,然后将下面两行百分号之间的内容,复制进去,保存

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

function

z=zhidao_fit_1(a,x)

%这里用的是ax^2

+

bxy

+

cy^2

+

dx

+

ey

+

f=0

%其中x,y分别用x(:,1),x(:,2)表示

%z=a(1)x^2+a(2)xy+a(3)y^2+a(4)x+a(5)y+a(6)

z=a(1)x(:,1)^2+a(2)x(:,1)x(:,2)+a(3)x(:,2)^2+a(4)x(:,1)+a(5)x(:,2)+a(6);

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

%%数据产生,这里以x^2/9+y^2/16=1产生数据

%如果有数据,直接将下面三行替换掉这里要求x,y为列向量

seta=linspace(0,2pi,20)';

x=3cos(seta);

y=4sin(seta);

X=[x,y];

F=zeros(size(x));

[ABC,res]=lsqcurvefit('zhidao_fit_1',ones(1,6),X,F);

ABC

得到结果

ABC

=

00073

-00000

00041

-00000

00000

-00655

这个与x^2/9+y^2/16=1是一致的

注意有时,ABC的值直接看是0,你可以通过vpa(ABC,4)来看,很可能就不是0,是一个比较小的数。

以上就是关于matlab如何取多项式系数例如num=4s^4+3.2s^3+s^2+s+1如何得到系数(4,3.2,1,1,1)按s全部的内容,包括:matlab如何取多项式系数例如num=4s^4+3.2s^3+s^2+s+1如何得到系数(4,3.2,1,1,1)按s、怎么用matlab或mathematica求某一项的系数啊、如何用matlab确定函数的系数等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/web/9779755.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-01
下一篇 2023-05-01

发表评论

登录后才能评论

评论列表(0条)

保存