登录论坛

查看完整版本 : 【求助】问一个比较复杂的solve问题,高手帮帮忙


wwww1031
2007-08-17, 22:58
最近在做程序时,遇到一个问题,如下:
solve('sqrt(x^5+x^4+x^3+x^2+x-a^2-b^2)=c+d*x','x')
其中x待求,a,b,c,d均是已知(执行上述命令时,abcd都是带变量名)
命令不能执行,提示如下:
error:(in allvalues/rootseq) cannot with symbolic coefficients.
意思就是:在所有的参量/根中,不能有符号向量。

但是,当我把上述命令里的abcd全部带入实际值时,却是能够执行的。
计算出来的结果是符号向量,10×1的数组,8个复数,2个实数。

现在的问题是,怎么能够解这个方程呢?因为程序所需,我不可能每一步都带入实际值,必须以变量表示。

求高手帮忙!!

limao1986
2008-03-26, 15:41
那你这个问题解决了没有.??
我也遇到了这个问题.
如果你解决了告诉我一下.

fgabertb
2008-03-26, 19:37
我想到的方法@@ 應該還有更好的寫法:smile:

qq=rand(4);
%先假設qq是
%[a1 b1 c1 d1;
% a2 b2 c2 d2;
% ........
% an bn cn dn] 係數矩陣
syms a b c d x %定義符號變數
f=@(a,b,c,d,x) sqrt(x^5+x^4+x^3+x^2+x-a^2-b^2)-c-d*x; %把函數表現
for i=1:size(qq,1) %每組係數帶入 作迴圈
eval(solve(f(qq(i,1),qq(i,2),qq(i,3),qq(i,4),x),x)) %求解
end

:smile:

limao1986
2008-03-26, 20:22
我想到的方法@@ 應該還有更好的寫法:smile:

qq=rand(4);
%先假設qq是
%[a1 b1 c1 d1;
% a2 b2 c2 d2;
% ........
% an bn cn dn] 係數矩陣
syms a b c d x %定義符號變...
我试试看,先谢谢你哈~~~!