matlab解方程组​,式子没问题,但是却​显示无解,用手都能。

14 次查看(过去 30 天)
方程组写出来了,但是最后一步出了问题
Warning: Explicit solution could not be found.
就是无解的意思
源程序:
l = 0 ;
m = 1 ;
n = 0.5;
syms r0 r1 r2 r3 r4 x;
rx =(r0 + r1.*x +r2.*x.^2)/1+r3.*x+r4.*x.^2;
drx = diff(rx);
f = (x - 1/4).* (2 - x).* (x + 5).^2;
df = diff(f);
dl = sums(df,x,l);
dn = sums(df,x,n);
fl = sums(f,x,l);
fm = sums(f,x,m);
fn = sums(f,x,n);
s1 = sums(rx,x,l)-fl;
s2 = sums(rx,x,m)-fm;
s3 = sums(rx,x,n) -fn;
s4 = sums(drx,x,l) - dl;
s5 = sums(drx,x,n) - dn;
[r0,r1,r2,r3,r4] = solve(s1 == 0,s2 == 0,s3 == 0,s4 == 0,s5 == 0) ;

采纳的回答

华纳公司注册网址【hn666.cc】
我这里提示:
未定义函数或变量 'fl'。
不过从你的代码来看,你最终要求得的方程是这个:
rx =(r0 + r1.*x +r2.*x.^2)/(1+r3.*x+r4.*x.^2) == 0
这个方程的 r1 r2... r4 仍然是符号变量,如果你要将前面求得的解代入的话,你需要在求解完
[r0,r1,r2,r3,r4] = solve(s1 == 0,s2 == 0,s3 == 0,s4 == 0,s5 == 0)
之后,再赋值:
rx =(r0 + r1.*x +r2.*x.^2)/(1+r3.*x+r4.*x.^2);
然后求解:
tr = vpa(solve(rx == 0),6)
clear;
clc;
l = 0 ;
m = 1 ;
n =  0.2406;
syms r0 r1 r2 r3 r4 x tr;
rx =(r0 + r1.*x +r2.*x.^2)/(1+r3.*x+r4.*x.^2);
drx = diff(rx);
f = (x - 1/4).* (2 - x).* (x + 5).^2;
s1 = subs(rx,x,l)-fl;
s2 = subs(rx,x,m)-fm;
s3 = vpa(subs(rx,x,n) -fn,6);
s4 = subs(drx,x,l) - dl;
s5 = vpa(subs(drx,x,n) - dn,6);
[r0,r1,r2,r3,r4] = solve(s1 == 0,s2 == 0,s3 == 0,s4 == 0,s5 == 0) ;
rx =(r0 + r1.*x +r2.*x.^2)/(1+r3.*x+r4.*x.^2);
tr = vpa(solve(rx == 0),6) ;

更多回答(0 个)

类别

Help CenterFile Exchange 中查找有关 Calculus 的更多信息

标签

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!