用matlab解方程这个方程哪里错了?

matlab联立方程求解怎么错了 大神们帮忙看下啊_百度知道
matlab联立方程求解怎么错了 大神们帮忙看下啊
x1=[14.7 6.9 1.6 -0.8 -1.9378 -2缉海光剿叱济癸汐含搂.1894];x2=[7.6 7.6 7.6 7.6 7.6];z1=[50 50 50 50 50 50 50 50 50 50];z2=[25 25 25 25 25 25 25 25 25 25];A=[52.4 43.6 39.3 36.9 35.3];B=[26.4 18.4 13.9 10.4 8.1];eq1='sqrt((x3-x1).^2+(z3-z1).^2)-A=0';eq2='sqrt((x3-x2).^2+(z3-z2).^2)-B=0';s=solve(eq1,eq2,'x3,z3')s.x3s.z3
提问者采纳
eq1='sqrt((x3-x1)^2+(z3-z1)^2)-A=0';eq2='sqrt((x3-x2)^2+(z3-z2)^2)-B=0';[x3 z3]=solve(eq1,eq2,'缉海光剿叱济癸汐含搂x3,z3')这样就可以了!
提问者评价
其他类似问题
为您推荐:
matlab的相关知识
等待您来回答
下载知道APP
随时随地咨询
出门在外也不愁09-1509-1509-1509-15
02-0303-0903-0703-13
◇本站云标签
◇热点推荐查看: 2699|回复: 6|关注: 0
符号运算 求解微分方程 错误
本帖最后由 stuberkeley 于
23:03 编辑
syms x u(1) u(2) u(3) u(4) u(5) u(6) ;
A=[1 2 1;1 5 6;4 2 1]; C=[1 2; 2 1; 5 7];
Q=[u(1)^4+ u(2)^4+ u(3)^4-x(1)^4;u(4)^4+ u(5)^4+ u(6)^4-x(3)^4];
% Dx=Ax+CQ;
f=dsolve('Dx=A*x+C*Q','x(0)=(22+273)*ones(3,1)');
利用dsolve 求解微分方程符号运算,
??? Error using ==& syms at 61&&Not a valid variable name.
Error in ==& Untitled2x at 1& & syms x u(1) u(2) u(3) u(4) u(5) u(6) ;
求高手指导,& &我的matlab 版本为2010a
cerkang 发表于
第一行,变量名里不能含有括号,符号变量不能这样定义成数组
谢谢,不过去掉括号 依然有问题。我现在求解符号微分方程Dx=Ax;
X为2*1 元素时,虽然不能求出解析解,但还是没大问题,&&
A=[2 1;3 2];f=dsolve('Dx=A*x','x(0) = [32 20]');
Warning: Explicit solution could not be found. & In dsolve at 101
但x为3*1 元素时,错误,是什原因?求高人指点
&& A=[1 2 1;1 5 6;4 2 1];
f=dsolve('Dx=A*x','x(0) = [20;20;20]','IgnoreAnalyticConstraints', 'none');
??? Error using ==& mupadmex
Error in muPAD command: Illegal equations [ode::new]
Error in ==& sym.sym&sym.mupadmexnout at 2003 out = mupadmex(fcn,args{:});
Error in ==& dsolve&mupadDsolve at 190& && && && && && && && && && && && && && && && && && &&&
[var_list,R] = mupadmexnout('mllib::dsolve',sys,x,ignoreConstraints);
Error in ==& dsolve at 97
[R,vars] = mupadDsolve(ignoreConstraints,varargin{1:narg});
第一行,变量名里不能含有括号,符号变量不能这样定义成数组
本帖最后由 stuberkeley 于
23:09 编辑
cerkang 发表于
第一行,变量名里不能含有括号,符号变量不能这样定义成数组
你好,我现在把 括号 去掉 ,还是 不行。
我现在简化了下,Dx=Ax,x为2x1元素,但是x变成3*1的,就出现错误了。
A=[2 1;3 2];f=dsolve('Dx=A*x','x(0) = [32 20]');
Warning: Explicit solution could not be found.
& In dsolve at 101
&& A=[1 2 1;1 5 6;4 2 1]; f=dsolve('Dx=A*x','x(0) = [20;20;20]');
??? Error using ==& mupadmex
Error in MuPAD command: Illegal equations [ode::new]
Error in ==& sym.sym&sym.mupadmexnout at 2003
& && &&&out = mupadmex(fcn,args{:});
Error in ==& dsolve&mupadDsolve at 190
[var_list,R] = mupadmexnout('mllib::dsolve',sys,x,ignoreConstraints);
Error in ==& dsolve at 97
[R,vars] = mupadDsolve(ignoreConstraints,varargin{1:narg});
cerkang 发表于
第一行,变量名里不能含有括号,符号变量不能这样定义成数组
谢谢,不过我现在把括号去掉,也是不行。我干脆简化为Dx=A*x,问题是如果x为2*1元素,求不出解析解,
A=[2 1;3 2];
f=dsolve('Dx=A*x','x(0) = [32 20]');
Warning: Explicit solution could not be found.
& In dsolve at 101
当x为3*1元素,很离奇的竟然报警一连串的错误,
&& A=[1 2 1;1 5 6;4 2 1];
f=dsolve('Dx=A*x','x(0) = [20;20;20]');
??? Error using ==& mupadmex
Error in MuPAD command: Illegal equations [ode::new]
Error in ==& sym.sym&sym.mupadmexnout at 2003
& && &&&out = mupadmex(fcn,args{:});
Error in ==& dsolve&mupadDsolve at 190
[var_list,R] = mupadmexnout('mllib::dsolve',sys,x,ignoreConstraints);
Error in ==& dsolve at 97
[R,vars] = mupadDsolve(ignoreConstraints,varargin{1:narg});
本帖最后由 stuberkeley 于
19:29 编辑
cerkang 发表于
第一行,变量名里不能含有括号,符号变量不能这样定义成数组
是不是,dsolve 不能求解 矩阵方程组? 我尝试求解矩阵方程组都失败了,但是分开写就可以了。方程组和写,[f,g]=dsolve('D[x;y]=[x+y;x]')??? Error using ==& sym.sym&expression2ref at 2408&&Error: Illegal operand [_index] Error in ==& sym.sym&char2ref at 2378& & s = expression2ref(x); Error in ==& sym.sym&tomupad at 2147& &&&S = char2ref(x); Error in ==& sym.sym&sym.sym at 102& && &S.s = tomupad(x,''); Error in ==& dsolve&mupadDsolve at 189& & sys = sym(sys_str); Error in ==& dsolve at 97&&[R,vars] = mupadDsolve(ignoreConstraints,varargin{1:narg});方程组 拆开写[f,g]=dsolve('Dx=x+y','Dy=x')f =(C3*exp(t/2 - (5^(1/2)*t)/2))/2 + (C4*exp(t/2 + (5^(1/2)*t)/2))/2 - (5^(1/2)*C3*exp(t/2 - (5^(1/2)*t)/2))/2 + (5^(1/2)*C4*exp(t/2 + (5^(1/2)*t)/2))/2 g =C3*exp(t/2 - (5^(1/2)*t)/2) + C4*exp(t/2 + (5^(1/2)*t)/2)
总结下,以供其他人参阅吧,少走些弯路
dsolve用来求解Dx=Ax+f(u)之类的 线性符号方程时,
求解中,不能直接写成dsolve(’Dx=Ax+f(u)‘),这样Ax+f(u)不会当做 符号矩阵,只是被看作普通符号。
可通过strcat把Dx和Ax+f(u)连接起来,dsolve(strcat('Dx1=',char(f(u)(1)))
站长推荐 /1
Powered byMATLAB用于解方程_图文_百度文库
两大类热门资源免费畅读
续费一年阅读会员,立省24元!
评价文档:
MATLAB用于解方程
上传于||暂无简介
大小:64.00KB
登录百度文库,专享文档复制特权,财富值每天免费拿!
你可能喜欢查看: 4881|回复: 9|关注: 0
matlab中关于solve解方程组的问题
我现在想解[x,y]=solve('(x-x1)^2+(y-y1)^2=r1^2','(x-x2)^2+(y-y2)^2=r2^2');这一点的一个方程组,是两个圆相交求交点的,其中的x1,y1,x2,y2,r1,r2都是已知的,为了程序后续利用方便不能自己手动把这6个数写到solve中,所以才用了x1,y1,x2,y2,r1,r2来表示,我运行的程序是:
x1=0;y1=-99.....6625;
[x,y]=solve('(x-x1)^2+(y-y1)^2=r1^2','(x-x2)^2+(y-y2)^2=r2^2');
但结果是:
-(r1^2*(x2 + (2*(r1^2*r2^2 - r1^2*y^2 + 2*r1^2*y*y2 - r1^2*y2^2 - r2^2*y^2 + 2*r2^2*y*y1 - r2^2*y1^2 + y^4 - 2*y^3*y1 - 2*y^3*y2 + y^2*y1^2 + 4*y^2*y1*y2 + y^2*y2^2 - 2*y*y1^2*y2 - 2*y*y1*y2^2 + y1^2*y2^2)^(1/2) + 2*y*y1 + 2*y*y2 + r1^2 + r2^2 - 2*y^2 - y1^2 - y2^2)^(1/2)) + 3*r2^2*(x2 + (2*(r1^2*r2^2 - r1^2*y^2 + 2*r1^2*y*y2 - r1^2*y2^2 - r2^2*y^2 + 2*r2^2*y*y1 - r2^2*y1^2 + y^4 - 2*y^3*y1 - 2*y^3*y2 + y^2*y1^2 + 4*y^2*y1*y2 + y^2*y2^2 - 2*y*y1^2*y2 - 2*y*y1*y2^2 + y1^2*y2^2)^(1/2) + 2*y*y1 + 2*y*y2 + r1^2 + r2^2 - 2*y^2 - y1^2 - y2^2)^(1/2)) + 3*x2*(x2 + (2*(r1^2*r2^2 - r1^2*y^2 + 2*r1^2*y*y2 - r1^2*y2^2 - r2^2*y^2 + 2*r2^2*y*y1 - r2^2*y1^2 + y^4 - 2*y^3*y1 - 2*y^3*y2 + y^2*y1^2 + 4*y^2*y1*y2 + y^2*y2^2 - 2*y*y1^2*y2 - 2*y*y1*y2^2 + y1^2*y2^2)^(1/2) + 2*y*y1 + 2*y*y2 + r1^2 + r2^2 - 2*y^2 - y1^2 - y2^2)^(1/2))^2 - 3*x2^2*(x2 + (2*(r1^2*r2^2 - r1^2*y^2 + 2*r1^2*y*y2 - r1^2*y2^2 - r2^2*y^2 + 2*r2^2*y*y1 - r2^2*y1^2 + y^4 - 2*y^3*y1 - 2*y^3*y2 + y^2*y1^2 + 4*y^2*y1*y2 + y^2*y2^2 - 2*y*y1^2*y2 - 2*y*y1*y2^2 + y1^2*y2^2)^(1/2) + 2*y*y1 + 2*y*y2 + r1^2 + r2^2 - 2*y^2 - y1^2 - y2^2)^(1/2)) - 4*y^2*(x2 + (2*(r1^2*r2^2 - r1^2*y^2 + 2*r1^2*y*y2 - r1^2*y2^2 - r2^2*y^2 + 2*r2^2*y*y1 - r2^2*y1^2 + y^4 - 2*y^3*y1 - 2*y^3*y2 + y^2*y1^2 + 4*y^2*y1*y2 + y^2*y2^2 - 2*y*y1^2*y2 - 2*y*y1*y2^2 + y1^2*y2^2)^(1/2) + 2*y*y1 + 2*y*y2 + r1^2 + r2^2 - 2*y^2 - y1^2 - y2^2)^(1/2)) - y1^2*(x2 + (2*(r1^2*r2^2 - r1^2*y^2 + 2*r1^2*y*y2 - r1^2*y2^2 - r2^2*y^2 + 2*r2^2*y*y1 - r2^2*y1^2 + y^4 - 2*y^3*y1 - 2*y^3*y2 + y^2*y1^2 + 4*y^2*y1*y2 + y^2*y2^2 - 2*y*y1^2*y2 - 2*y*y1*y2^2 + y1^2*y2^2)^(1/2) + 2*y*y1 + 2*y*y2 + r1^2 + r2^2 - 2*y^2 - y1^2 - y2^2)^(1/2)) - 3*y2^2*(x2 + (2*(r1^2*r2^2 - r1^2*y^2 + 2*r1^2*y*y2 - r1^2*y2^2 - r2^2*y^2 + 2*r2^2*y*y1 - r2^2*y1^2 + y^4 - 2*y^3*y1 - 2*y^3*y2 + y^2*y1^2 + 4*y^2*y1*y2 + y^2*y2^2 - 2*y*y1^2*y2 - 2*y*y1*y2^2 + y1^2*y2^2)^(1/2) + 2*y*y1 + 2*y*y2 + r1^2 + r2^2 - 2*y^2 - y1^2 - y2^2)^(1/2)) - (x2 + (2*(r1^2*r2^2 - r1^2*y^2 + 2*r1^2*y*y2 - r1^2*y2^2 - r2^2*y^2 + 2*r2^2*y*y1 - r2^2*y1^2 + y^4 - 2*y^3*y1 - 2*y^3*y2 + y^2*y1^2 + 4*y^2*y1*y2 + y^2*y2^2 - 2*y*y1^2*y2 - 2*y*y1*y2^2 + y1^2*y2^2)^(1/2) + 2*y*y1 + 2*y*y2 + r1^2 + r2^2 - 2*y^2 - y1^2 - y2^2)^(1/2))^3 - 3*r1^2*x2 - r2^2*x2 + 4*x2*y^2 + 3*x2*y1^2 + x2*y2^2 + x2^3 + 2*y*y1*(x2 + (2*(r1^2*r2^2 - r1^2*y^2 + 2*r1^2*y*y2 - r1^2*y2^2 - r2^2*y^2 + 2*r2^2*y*y1 - r2^2*y1^2 + y^4 - 2*y^3*y1 - 2*y^3*y2 + y^2*y1^2 + 4*y^2*y1*y2 + y^2*y2^2 - 2*y*y1^2*y2 - 2*y*y1*y2^2 + y1^2*y2^2)^(1/2) + 2*y*y1 + 2*y*y2 + r1^2 + r2^2 - 2*y^2 - y1^2 - y2^2)^(1/2)) + 6*y*y2*(x2 + (2*(r1^2*r2^2 - r1^2*y^2 + 2*r1^2*y*y2 - r1^2*y2^2 - r2^2*y^2 + 2*r2^2*y*y1 - r2^2*y1^2 + y^4 - 2*y^3*y1 - 2*y^3*y2 + y^2*y1^2 + 4*y^2*y1*y2 + y^2*y2^2 - 2*y*y1^2*y2 - 2*y*y1*y2^2 + y1^2*y2^2)^(1/2) + 2*y*y1 + 2*y*y2 + r1^2 + r2^2 - 2*y^2 - y1^2 - y2^2)^(1/2)) - 6*x2*y*y1 - 2*x2*y*y2)/(2*r1^2 - 2*r2^2 - 2*y1^2 + 4*y*y1 + 2*y2^2 - 4*y*y2)
-(r1^2*(x2 + (2*y*y1 - 2*(r1^2*r2^2 - r1^2*y^2 + 2*r1^2*y*y2 - r1^2*y2^2 - r2^2*y^2 + 2*r2^2*y*y1 - r2^2*y1^2 + y^4 - 2*y^3*y1 - 2*y^3*y2 + y^2*y1^2 + 4*y^2*y1*y2 + y^2*y2^2 - 2*y*y1^2*y2 - 2*y*y1*y2^2 + y1^2*y2^2)^(1/2) + 2*y*y2 + r1^2 + r2^2 - 2*y^2 - y1^2 - y2^2)^(1/2)) + 3*r2^2*(x2 + (2*y*y1 - 2*(r1^2*r2^2 - r1^2*y^2 + 2*r1^2*y*y2 - r1^2*y2^2 - r2^2*y^2 + 2*r2^2*y*y1 - r2^2*y1^2 + y^4 - 2*y^3*y1 - 2*y^3*y2 + y^2*y1^2 + 4*y^2*y1*y2 + y^2*y2^2 - 2*y*y1^2*y2 - 2*y*y1*y2^2 + y1^2*y2^2)^(1/2) + 2*y*y2 + r1^2 + r2^2 - 2*y^2 - y1^2 - y2^2)^(1/2)) + 3*x2*(x2 + (2*y*y1 - 2*(r1^2*r2^2 - r1^2*y^2 + 2*r1^2*y*y2 - r1^2*y2^2 - r2^2*y^2 + 2*r2^2*y*y1 - r2^2*y1^2 + y^4 - 2*y^3*y1 - 2*y^3*y2 + y^2*y1^2 + 4*y^2*y1*y2 + y^2*y2^2 - 2*y*y1^2*y2 - 2*y*y1*y2^2 + y1^2*y2^2)^(1/2) + 2*y*y2 + r1^2 + r2^2 - 2*y^2 - y1^2 - y2^2)^(1/2))^2 - 3*x2^2*(x2 + (2*y*y1 - 2*(r1^2*r2^2 - r1^2*y^2 + 2*r1^2*y*y2 - r1^2*y2^2 - r2^2*y^2 + 2*r2^2*y*y1 - r2^2*y1^2 + y^4 - 2*y^3*y1 - 2*y^3*y2 + y^2*y1^2 + 4*y^2*y1*y2 + y^2*y2^2 - 2*y*y1^2*y2 - 2*y*y1*y2^2 + y1^2*y2^2)^(1/2) + 2*y*y2 + r1^2 + r2^2 - 2*y^2 - y1^2 - y2^2)^(1/2)) - 4*y^2*(x2 + (2*y*y1 - 2*(r1^2*r2^2 - r1^2*y^2 + 2*r1^2*y*y2 - r1^2*y2^2 - r2^2*y^2 + 2*r2^2*y*y1 - r2^2*y1^2 + y^4 - 2*y^3*y1 - 2*y^3*y2 + y^2*y1^2 + 4*y^2*y1*y2 + y^2*y2^2 - 2*y*y1^2*y2 - 2*y*y1*y2^2 + y1^2*y2^2)^(1/2) + 2*y*y2 + r1^2 + r2^2 - 2*y^2 - y1^2 - y2^2)^(1/2)) - y1^2*(x2 + (2*y*y1 - 2*(r1^2*r2^2 - r1^2*y^2 + 2*r1^2*y*y2 - r1^2*y2^2 - r2^2*y^2 + 2*r2^2*y*y1 - r2^2*y1^2 + y^4 - 2*y^3*y1 - 2*y^3*y2 + y^2*y1^2 + 4*y^2*y1*y2 + y^2*y2^2 - 2*y*y1^2*y2 - 2*y*y1*y2^2 + y1^2*y2^2)^(1/2) + 2*y*y2 + r1^2 + r2^2 - 2*y^2 - y1^2 - y2^2)^(1/2)) - 3*y2^2*(x2 + (2*y*y1 - 2*(r1^2*r2^2 - r1^2*y^2 + 2*r1^2*y*y2 - r1^2*y2^2 - r2^2*y^2 + 2*r2^2*y*y1 - r2^2*y1^2 + y^4 - 2*y^3*y1 - 2*y^3*y2 + y^2*y1^2 + 4*y^2*y1*y2 + y^2*y2^2 - 2*y*y1^2*y2 - 2*y*y1*y2^2 + y1^2*y2^2)^(1/2) + 2*y*y2 + r1^2 + r2^2 - 2*y^2 - y1^2 - y2^2)^(1/2)) - (x2 + (2*y*y1 - 2*(r1^2*r2^2 - r1^2*y^2 + 2*r1^2*y*y2 - r1^2*y2^2 - r2^2*y^2 + 2*r2^2*y*y1 - r2^2*y1^2 + y^4 - 2*y^3*y1 - 2*y^3*y2 + y^2*y1^2 + 4*y^2*y1*y2 + y^2*y2^2 - 2*y*y1^2*y2 - 2*y*y1*y2^2 + y1^2*y2^2)^(1/2) + 2*y*y2 + r1^2 + r2^2 - 2*y^2 - y1^2 - y2^2)^(1/2))^3 - 3*r1^2*x2 - r2^2*x2 + 4*x2*y^2 + 3*x2*y1^2 + x2*y2^2 + x2^3 + 2*y*y1*(x2 + (2*y*y1 - 2*(r1^2*r2^2 - r1^2*y^2 + 2*r1^2*y*y2 - r1^2*y2^2 - r2^2*y^2 + 2*r2^2*y*y1 - r2^2*y1^2 + y^4 - 2*y^3*y1 - 2*y^3*y2 + y^2*y1^2 + 4*y^2*y1*y2 + y^2*y2^2 - 2*y*y1^2*y2 - 2*y*y1*y2^2 + y1^2*y2^2)^(1/2) + 2*y*y2 + r1^2 + r2^2 - 2*y^2 - y1^2 - y2^2)^(1/2)) + 6*y*y2*(x2 + (2*y*y1 - 2*(r1^2*r2^2 - r1^2*y^2 + 2*r1^2*y*y2 - r1^2*y2^2 - r2^2*y^2 + 2*r2^2*y*y1 - r2^2*y1^2 + y^4 - 2*y^3*y1 - 2*y^3*y2 + y^2*y1^2 + 4*y^2*y1*y2 + y^2*y2^2 - 2*y*y1^2*y2 - 2*y*y1*y2^2 + y1^2*y2^2)^(1/2) + 2*y*y2 + r1^2 + r2^2 - 2*y^2 - y1^2 - y2^2)^(1/2)) - 6*x2*y*y1 - 2*x2*y*y2)/(2*r1^2 - 2*r2^2 - 2*y1^2 + 4*y*y1 + 2*y2^2 - 4*y*y2)
-(r1^2*(x2 - (2*(r1^2*r2^2 - r1^2*y^2 + 2*r1^2*y*y2 - r1^2*y2^2 - r2^2*y^2 + 2*r2^2*y*y1 - r2^2*y1^2 + y^4 - 2*y^3*y1 - 2*y^3*y2 + y^2*y1^2 + 4*y^2*y1*y2 + y^2*y2^2 - 2*y*y1^2*y2 - 2*y*y1*y2^2 + y1^2*y2^2)^(1/2) + 2*y*y1 + 2*y*y2 + r1^2 + r2^2 - 2*y^2 - y1^2 - y2^2)^(1/2)) + 3*r2^2*(x2 - (2*(r1^2*r2^2 - r1^2*y^2 + 2*r1^2*y*y2 - r1^2*y2^2 - r2^2*y^2 + 2*r2^2*y*y1 - r2^2*y1^2 + y^4 - 2*y^3*y1 - 2*y^3*y2 + y^2*y1^2 + 4*y^2*y1*y2 + y^2*y2^2 - 2*y*y1^2*y2 - 2*y*y1*y2^2 + y1^2*y2^2)^(1/2) + 2*y*y1 + 2*y*y2 + r1^2 + r2^2 - 2*y^2 - y1^2 - y2^2)^(1/2)) + 3*x2*(x2 - (2*(r1^2*r2^2 - r1^2*y^2 + 2*r1^2*y*y2 - r1^2*y2^2 - r2^2*y^2 + 2*r2^2*y*y1 - r2^2*y1^2 + y^4 - 2*y^3*y1 - 2*y^3*y2 + y^2*y1^2 + 4*y^2*y1*y2 + y^2*y2^2 - 2*y*y1^2*y2 - 2*y*y1*y2^2 + y1^2*y2^2)^(1/2) + 2*y*y1 + 2*y*y2 + r1^2 + r2^2 - 2*y^2 - y1^2 - y2^2)^(1/2))^2 - 3*x2^2*(x2 - (2*(r1^2*r2^2 - r1^2*y^2 + 2*r1^2*y*y2 - r1^2*y2^2 - r2^2*y^2 + 2*r2^2*y*y1 - r2^2*y1^2 + y^4 - 2*y^3*y1 - 2*y^3*y2 + y^2*y1^2 + 4*y^2*y1*y2 + y^2*y2^2 - 2*y*y1^2*y2 - 2*y*y1*y2^2 + y1^2*y2^2)^(1/2) + 2*y*y1 + 2*y*y2 + r1^2 + r2^2 - 2*y^2 - y1^2 - y2^2)^(1/2)) - 4*y^2*(x2 - (2*(r1^2*r2^2 - r1^2*y^2 + 2*r1^2*y*y2 - r1^2*y2^2 - r2^2*y^2 + 2*r2^2*y*y1 - r2^2*y1^2 + y^4 - 2*y^3*y1 - 2*y^3*y2 + y^2*y1^2 + 4*y^2*y1*y2 + y^2*y2^2 - 2*y*y1^2*y2 - 2*y*y1*y2^2 + y1^2*y2^2)^(1/2) + 2*y*y1 + 2*y*y2 + r1^2 + r2^2 - 2*y^2 - y1^2 - y2^2)^(1/2)) - y1^2*(x2 - (2*(r1^2*r2^2 - r1^2*y^2 + 2*r1^2*y*y2 - r1^2*y2^2 - r2^2*y^2 + 2*r2^2*y*y1 - r2^2*y1^2 + y^4 - 2*y^3*y1 - 2*y^3*y2 + y^2*y1^2 + 4*y^2*y1*y2 + y^2*y2^2 - 2*y*y1^2*y2 - 2*y*y1*y2^2 + y1^2*y2^2)^(1/2) + 2*y*y1 + 2*y*y2 + r1^2 + r2^2 - 2*y^2 - y1^2 - y2^2)^(1/2)) - 3*y2^2*(x2 - (2*(r1^2*r2^2 - r1^2*y^2 + 2*r1^2*y*y2 - r1^2*y2^2 - r2^2*y^2 + 2*r2^2*y*y1 - r2^2*y1^2 + y^4 - 2*y^3*y1 - 2*y^3*y2 + y^2*y1^2 + 4*y^2*y1*y2 + y^2*y2^2 - 2*y*y1^2*y2 - 2*y*y1*y2^2 + y1^2*y2^2)^(1/2) + 2*y*y1 + 2*y*y2 + r1^2 + r2^2 - 2*y^2 - y1^2 - y2^2)^(1/2)) - 3*r1^2*x2 - r2^2*x2 + 4*x2*y^2 + 3*x2*y1^2 + x2*y2^2 - (x2 - (2*(r1^2*r2^2 - r1^2*y^2 + 2*r1^2*y*y2 - r1^2*y2^2 - r2^2*y^2 + 2*r2^2*y*y1 - r2^2*y1^2 + y^4 - 2*y^3*y1 - 2*y^3*y2 + y^2*y1^2 + 4*y^2*y1*y2 + y^2*y2^2 - 2*y*y1^2*y2 - 2*y*y1*y2^2 + y1^2*y2^2)^(1/2) + 2*y*y1 + 2*y*y2 + r1^2 + r2^2 - 2*y^2 - y1^2 - y2^2)^(1/2))^3 + x2^3 + 2*y*y1*(x2 - (2*(r1^2*r2^2 - r1^2*y^2 + 2*r1^2*y*y2 - r1^2*y2^2 - r2^2*y^2 + 2*r2^2*y*y1 - r2^2*y1^2 + y^4 - 2*y^3*y1 - 2*y^3*y2 + y^2*y1^2 + 4*y^2*y1*y2 + y^2*y2^2 - 2*y*y1^2*y2 - 2*y*y1*y2^2 + y1^2*y2^2)^(1/2) + 2*y*y1 + 2*y*y2 + r1^2 + r2^2 - 2*y^2 - y1^2 - y2^2)^(1/2)) + 6*y*y2*(x2 - (2*(r1^2*r2^2 - r1^2*y^2 + 2*r1^2*y*y2 - r1^2*y2^2 - r2^2*y^2 + 2*r2^2*y*y1 - r2^2*y1^2 + y^4 - 2*y^3*y1 - 2*y^3*y2 + y^2*y1^2 + 4*y^2*y1*y2 + y^2*y2^2 - 2*y*y1^2*y2 - 2*y*y1*y2^2 + y1^2*y2^2)^(1/2) + 2*y*y1 + 2*y*y2 + r1^2 + r2^2 - 2*y^2 - y1^2 - y2^2)^(1/2)) - 6*x2*y*y1 - 2*x2*y*y2)/(2*r1^2 - 2*r2^2 - 2*y1^2 + 4*y*y1 + 2*y2^2 - 4*y*y2)
-(r1^2*(x2 - (2*y*y1 - 2*(r1^2*r2^2 - r1^2*y^2 + 2*r1^2*y*y2 - r1^2*y2^2 - r2^2*y^2 + 2*r2^2*y*y1 - r2^2*y1^2 + y^4 - 2*y^3*y1 - 2*y^3*y2 + y^2*y1^2 + 4*y^2*y1*y2 + y^2*y2^2 - 2*y*y1^2*y2 - 2*y*y1*y2^2 + y1^2*y2^2)^(1/2) + 2*y*y2 + r1^2 + r2^2 - 2*y^2 - y1^2 - y2^2)^(1/2)) + 3*r2^2*(x2 - (2*y*y1 - 2*(r1^2*r2^2 - r1^2*y^2 + 2*r1^2*y*y2 - r1^2*y2^2 - r2^2*y^2 + 2*r2^2*y*y1 - r2^2*y1^2 + y^4 - 2*y^3*y1 - 2*y^3*y2 + y^2*y1^2 + 4*y^2*y1*y2 + y^2*y2^2 - 2*y*y1^2*y2 - 2*y*y1*y2^2 + y1^2*y2^2)^(1/2) + 2*y*y2 + r1^2 + r2^2 - 2*y^2 - y1^2 - y2^2)^(1/2)) + 3*x2*(x2 - (2*y*y1 - 2*(r1^2*r2^2 - r1^2*y^2 + 2*r1^2*y*y2 - r1^2*y2^2 - r2^2*y^2 + 2*r2^2*y*y1 - r2^2*y1^2 + y^4 - 2*y^3*y1 - 2*y^3*y2 + y^2*y1^2 + 4*y^2*y1*y2 + y^2*y2^2 - 2*y*y1^2*y2 - 2*y*y1*y2^2 + y1^2*y2^2)^(1/2) + 2*y*y2 + r1^2 + r2^2 - 2*y^2 - y1^2 - y2^2)^(1/2))^2 - 3*x2^2*(x2 - (2*y*y1 - 2*(r1^2*r2^2 - r1^2*y^2 + 2*r1^2*y*y2 - r1^2*y2^2 - r2^2*y^2 + 2*r2^2*y*y1 - r2^2*y1^2 + y^4 - 2*y^3*y1 - 2*y^3*y2 + y^2*y1^2 + 4*y^2*y1*y2 + y^2*y2^2 - 2*y*y1^2*y2 - 2*y*y1*y2^2 + y1^2*y2^2)^(1/2) + 2*y*y2 + r1^2 + r2^2 - 2*y^2 - y1^2 - y2^2)^(1/2)) - 4*y^2*(x2 - (2*y*y1 - 2*(r1^2*r2^2 - r1^2*y^2 + 2*r1^2*y*y2 - r1^2*y2^2 - r2^2*y^2 + 2*r2^2*y*y1 - r2^2*y1^2 + y^4 - 2*y^3*y1 - 2*y^3*y2 + y^2*y1^2 + 4*y^2*y1*y2 + y^2*y2^2 - 2*y*y1^2*y2 - 2*y*y1*y2^2 + y1^2*y2^2)^(1/2) + 2*y*y2 + r1^2 + r2^2 - 2*y^2 - y1^2 - y2^2)^(1/2)) - y1^2*(x2 - (2*y*y1 - 2*(r1^2*r2^2 - r1^2*y^2 + 2*r1^2*y*y2 - r1^2*y2^2 - r2^2*y^2 + 2*r2^2*y*y1 - r2^2*y1^2 + y^4 - 2*y^3*y1 - 2*y^3*y2 + y^2*y1^2 + 4*y^2*y1*y2 + y^2*y2^2 - 2*y*y1^2*y2 - 2*y*y1*y2^2 + y1^2*y2^2)^(1/2) + 2*y*y2 + r1^2 + r2^2 - 2*y^2 - y1^2 - y2^2)^(1/2)) - 3*y2^2*(x2 - (2*y*y1 - 2*(r1^2*r2^2 - r1^2*y^2 + 2*r1^2*y*y2 - r1^2*y2^2 - r2^2*y^2 + 2*r2^2*y*y1 - r2^2*y1^2 + y^4 - 2*y^3*y1 - 2*y^3*y2 + y^2*y1^2 + 4*y^2*y1*y2 + y^2*y2^2 - 2*y*y1^2*y2 - 2*y*y1*y2^2 + y1^2*y2^2)^(1/2) + 2*y*y2 + r1^2 + r2^2 - 2*y^2 - y1^2 - y2^2)^(1/2)) - 3*r1^2*x2 - r2^2*x2 + 4*x2*y^2 + 3*x2*y1^2 + x2*y2^2 - (x2 - (2*y*y1 - 2*(r1^2*r2^2 - r1^2*y^2 + 2*r1^2*y*y2 - r1^2*y2^2 - r2^2*y^2 + 2*r2^2*y*y1 - r2^2*y1^2 + y^4 - 2*y^3*y1 - 2*y^3*y2 + y^2*y1^2 + 4*y^2*y1*y2 + y^2*y2^2 - 2*y*y1^2*y2 - 2*y*y1*y2^2 + y1^2*y2^2)^(1/2) + 2*y*y2 + r1^2 + r2^2 - 2*y^2 - y1^2 - y2^2)^(1/2))^3 + x2^3 + 2*y*y1*(x2 - (2*y*y1 - 2*(r1^2*r2^2 - r1^2*y^2 + 2*r1^2*y*y2 - r1^2*y2^2 - r2^2*y^2 + 2*r2^2*y*y1 - r2^2*y1^2 + y^4 - 2*y^3*y1 - 2*y^3*y2 + y^2*y1^2 + 4*y^2*y1*y2 + y^2*y2^2 - 2*y*y1^2*y2 - 2*y*y1*y2^2 + y1^2*y2^2)^(1/2) + 2*y*y2 + r1^2 + r2^2 - 2*y^2 - y1^2 - y2^2)^(1/2)) + 6*y*y2*(x2 - (2*y*y1 - 2*(r1^2*r2^2 - r1^2*y^2 + 2*r1^2*y*y2 - r1^2*y2^2 - r2^2*y^2 + 2*r2^2*y*y1 - r2^2*y1^2 + y^4 - 2*y^3*y1 - 2*y^3*y2 + y^2*y1^2 + 4*y^2*y1*y2 + y^2*y2^2 - 2*y*y1^2*y2 - 2*y*y1*y2^2 + y1^2*y2^2)^(1/2) + 2*y*y2 + r1^2 + r2^2 - 2*y^2 - y1^2 - y2^2)^(1/2)) - 6*x2*y*y1 - 2*x2*y*y2)/(2*r1^2 - 2*r2^2 - 2*y1^2 + 4*y*y1 + 2*y2^2 - 4*y*y2)
x2 + (2*(r1^2*r2^2 - r1^2*y^2 + 2*r1^2*y*y2 - r1^2*y2^2 - r2^2*y^2 + 2*r2^2*y*y1 - r2^2*y1^2 + y^4 - 2*y^3*y1 - 2*y^3*y2 + y^2*y1^2 + 4*y^2*y1*y2 + y^2*y2^2 - 2*y*y1^2*y2 - 2*y*y1*y2^2 + y1^2*y2^2)^(1/2) + 2*y*y1 + 2*y*y2 + r1^2 + r2^2 - 2*y^2 - y1^2 - y2^2)^(1/2)
x2 + (2*y*y1 - 2*(r1^2*r2^2 - r1^2*y^2 + 2*r1^2*y*y2 - r1^2*y2^2 - r2^2*y^2 + 2*r2^2*y*y1 - r2^2*y1^2 + y^4 - 2*y^3*y1 - 2*y^3*y2 + y^2*y1^2 + 4*y^2*y1*y2 + y^2*y2^2 - 2*y*y1^2*y2 - 2*y*y1*y2^2 + y1^2*y2^2)^(1/2) + 2*y*y2 + r1^2 + r2^2 - 2*y^2 - y1^2 - y2^2)^(1/2)
x2 - (2*(r1^2*r2^2 - r1^2*y^2 + 2*r1^2*y*y2 - r1^2*y2^2 - r2^2*y^2 + 2*r2^2*y*y1 - r2^2*y1^2 + y^4 - 2*y^3*y1 - 2*y^3*y2 + y^2*y1^2 + 4*y^2*y1*y2 + y^2*y2^2 - 2*y*y1^2*y2 - 2*y*y1*y2^2 + y1^2*y2^2)^(1/2) + 2*y*y1 + 2*y*y2 + r1^2 + r2^2 - 2*y^2 - y1^2 - y2^2)^(1/2)
x2 - (2*y*y1 - 2*(r1^2*r2^2 - r1^2*y^2 + 2*r1^2*y*y2 - r1^2*y2^2 - r2^2*y^2 + 2*r2^2*y*y1 - r2^2*y1^2 + y^4 - 2*y^3*y1 - 2*y^3*y2 + y^2*y1^2 + 4*y^2*y1*y2 + y^2*y2^2 - 2*y*y1^2*y2 - 2*y*y1*y2^2 + y1^2*y2^2)^(1/2) + 2*y*y2 + r1^2 + r2^2 - 2*y^2 - y1^2 - y2^2)^(1/2)
而实际上我想要得倒的结果是算出来的几个数。
如果我运行:[x,y]=solve('x^2+(y+99..0143^2','(x-174.1634)^2+(y-430..6625^2');
则可以得倒我想要的数。请教有什么办法可以用上面说的方法解决而不是用直接把数给进solve里面直接求解呢?
关注者: 3
很简单,这样改
S1=(x-x1)^2+(y-y1)^2-r1^2;
S2=(x-x2)^2+(y-y2)^2-r2^2;
[x,y]=solve(S1,S2)
关注者: 1
kyu16866 发表于
很简单,这样改
S1=(x-x1)^2+(y-y1)^2-r1^2;
求问楼上,菜鸟碰到一个很弱智的问题。求帮助求打醒!
[x,y]=solve('x-y=2','x+y=6')
解出来是对的,x=4,y=2
但是[s,d]=solve('s-d=2','s+d=6')
解出来却是s=2,d=4
试验了很久,发现它貌似是把结果按字母顺序赋给前面俩变量的。
抓狂啊!求问这怎么破?难道我设变量还要考虑下字母顺序。。。。
关注者: 307
|此回复为最佳答案
本帖最后由 winner245 于
00:12 编辑
wanx2012 发表于
求问楼上,菜鸟碰到一个很弱智的问题。求帮助求打醒!
[x,y]=solve('x-y=2','x+y=6')
解出来是对的,x=4, ...
你指出的这个问题是 solve 求解方程组时需要特别注意的问题。当求解方程组时,因为涉及到方程组里多个变量,返回值当然是有一定的顺序的,这个顺序不可能因为你调用方式而改变。比如,不会因为你写成了 [s, d] = solve(**) 就按照你期望将 s 的解返回到 s ,将 d 的解返回到变量 d。事实上,solve 函数返回变量的顺序是严格由symvar 函数决定的。help 一下 symvar ,你会发现,symvar可以返回一个符号表达式里的的符号变量,而返回的符号变量的顺序,正好是solve函数返回方程组解的顺序。再看看 symvar 的介绍:
symvar(s) returns a vector containing all the symbolic variables in s in alphabetical order with uppercase letters preceding lowercase letters.
可以看出,返回变量的顺序是先大写在前,小写在后,且(不论大小写)按字母升序排列,比如 s = b + a + c + A 返回的顺序就是symvar(s) =&&[A, a, b, c]。所以,你的solve方程返回的顺序是 [d, s],你的调用过程正好弄反了。你换成:[d, s]=solve('s-d=2','s+d=6') 就可以了
关注者: 307
wanx2012 发表于
求问楼上,菜鸟碰到一个很弱智的问题。求帮助求打醒!
[x,y]=solve('x-y=2','x+y=6')
解出来是对的,x=4, ...
另外一个解决此类问题的办法是,先不关心具体返回值的顺序,直接让solve函数的解返回为一个结构体,然后利用该结构体取出相应的解。x = solve('s-d=2','s+d=6');& &% x 是一个结构体
s = x.s& && && &% x.s 就是 s 的解
d = x.d& && &&&% x.d 就是 d 的解复制代码或者,其实都不用专门把解赋值给 s 和 d,因为 x.s 和 x.d 就分别是该方程组的s和d的解。这种方法比较适合于方程个数较多,变量命名很复杂的情形,这种情况下,一般难以按 4楼 说的字母顺序 (symvar) 确定输出解的顺序。所以,用结构体做解最方便。
关注者: 307
LZ 的方程,要想把参数传递进方程,就不能用string类型的表达式,这样参数是无法传递进来的。syms x y
x1=0; y1=-99.3405; x2=174.1634; y2=430.7881; r1=112.0143; r2=464.6625;
[x,y] = solve((x-x1)^2+(y-y1)^2-r1^2,(x-x2)^2+(y-y2)^2-r2^2)复制代码如果后面想把 x 和 y 转化为数值,可以用double函数
关注者: 1
winner245 发表于
另外一个解决此类问题的办法是,先不关心具体返回值的顺序,直接让solve函数的解返回为一个结构体,然后利 ...
学习到了!太谢谢你了!这种基础的问题我遇到了解决不了,在网上搜都搜不到,真心赞美大人!
关注者: 1
wanx2012 发表于
学习到了!太谢谢你了!这种基础的问题我遇到了解决不了,在网上搜都搜不到,真心赞美大人! ...
winner,不好意思,还是解方程的问题!为什么我从子函数里返回的y1,y2没法参与运算,代到方程里还是y1,y2,结果里也是一样。实在是不知道为什么了。我用class看了y1,y2的类型,是double没错。
[b18,b28,yangle8,posy8]=Yangle(150,950,200,900,handles);
&&y1=posy8
[b19,b29,yangle9,posy9]=Yangle(150,950,200,900,handles);
&&y2=posy9
syms SO SD ;
&&d=1;W=120;L=220;
&&yo=1031;
&&eq1=W*SD-SO*(y1-yo)*d
&&eq2=W*SD-(SO+L)*(y2-yo)*d
&&[SD,SO]=solve(eq1,eq2)
关注者: 307
本帖最后由 winner245 于
21:48 编辑
wanx2012 发表于
winner,不好意思,还是解方程的问题!为什么我从子函数里返回的y1,y2没法参与运算,代到方程里还是y1,y2 ...
方程之前是否还有其他代码?请给出可以复现你错误的完整代码。
另外,不建议在“已解决”的帖子里继续提问,因为标记为已解决后,帖子已经不受关注了,建议发新帖
另外一个解决此类问题的办法是,先不关心具体返回值的顺序,直接让solve函数的解返回为一个结构体,然后利 ...
你好,我现在直接用S=sove()这种方法解方程组,由于变量较多,不能一一按照double(S.x1)转化成数,有什么简便的方法直接把S里面所有的解转化成数的么?
站长推荐 /1
Powered by}

我要回帖

更多关于 matlab解微分方程组 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信