作者candy88257 (阿泰斯)
看板MATLAB
标题[讨论] 自制"多项式降次"方法(非降次排列),成功
时间Sun Apr 7 10:17:17 2013
非降次排列,而是将未知数降次(如:x^2降为x)
但是不能直接整个式子除以未知数,因为会这样: (x^2+x+1)/x = x+1+1/x
x会跑去分母,而且我要的降次不是这样,而是要x^p降成x^(p/2)
例如:
(x^6+x^4+x^2)转为(x^3+x^2+x)
如果直接除x^3会变成: x^3+x+x^(-1) <<<显然不是我要的
以下是我想出来的方法,但是又发生了另一个问题:
程式码:
clear;
clc;
syms x y
mx=[3*x+5*y,x+2*y;7*y,6*x+y];
eq=det(mx)
cs=coeffs(eq,x)
eq2=cs(1)+cs(2)*sqrt(x)+cs(3)*x
y=1;
solve(eq2,'x')
command视窗:
eq =
18*x^2 + 26*x*y - 9*y^2
cs =
[ -9*y^2, 26*y, 18]
eq2 =
18*x + 26*x^(1/2)*y - 9*y^2
ans =
((13*y)/18 + (331^(1/2)*y)/18)^2
((13*y)/18 - (331^(1/2)*y)/18)^2
为了让矩阵可以det,所以先令x跟y都为syms
但是这麽做到最後,令y=1时要去算solve,会发现y没代进去
此题算式较简单,故用subs可以算,小弟那边是算16次方的,x改为Z,y改为omg
用subs算出来会是NaN
求高手帮忙一下,感谢!!
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 140.130.17.1
1F:→ candy88257:刚刚又测试了一下,发现矩阵先vpa(m,2),最後竟然能 04/07 11:13
2F:→ candy88257:subs,难不成真的是精度问题!!?但我需要高精度阿!! 04/07 11:13