admin管理员组文章数量:1558087
直接solve得到的是一个特解,而不是所有解
clc
clear
syms c1 c2 k real
assume(k~=1/2 & k>0)
eq1=k*sin(c1-c2)-sin(c1)==0
eq2=k*sin(c2-c1)-sin(c2)==0
disp('直接solve得到特解:')
[solx1,solx2]=solve(eq1,eq2,[c1,c2])
disp('全部解:')
[solx1,solx2, param, cond]=solve(eq1,eq2,[c1,c2], 'ReturnConditions', true)
结果:
eq1 =
k*sin(c1 - c2) - sin(c1) == 0
eq2 =
- sin(c2) - k*sin(c1 - c2) == 0
直接solve得到特解:
警告: Solutions are only valid under certain conditions. To include parameters
and conditions in the solution, specify the 'ReturnConditions' value as 'true'.
solx1 =
0
pi
0
2*atan(((2*k - 1)*(2*k + 1))^(1/2)/(2*k + 1))
-2*atan(((2*k - 1)*(2*k + 1))^(1/2)/(2*k + 1))
solx2 =
0
0
pi
-2*atan(((2*k - 1)*(2*k + 1))^(1/2)/(2*k + 1))
2*atan(((2*k - 1)*(2*k + 1))^(1/2)/(2*k + 1))
全部解:
solx1 =
z
-pi*(2*m - 1)
pi*l
2*atan(((2*k - 1)*(2*k + 1))^(1/2)/(2*k + 1)) + 2*pi*l
2*pi*l - 2*atan(((2*k - 1)*(2*k + 1))^(1/2)/(2*k + 1))
solx2 =
z1
pi*l
-pi*(2*m - 1)
2*pi*m - 2*atan(((2*k - 1)*(2*k + 1))^(1/2)/(2*k + 1))
2*atan(((2*k - 1)*(2*k + 1))^(1/2)/(2*k + 1)) + 2*pi*m
param =
[l, m, z, z1]
cond =
in(z/(2*pi), 'integer') & in(z1/(2*pi), 'integer') & 0 < 4*k^2 - 1 | in(z/(2*pi), 'integer') & in(z1/(2*pi), 'integer') & 4*k^2 - 1 < 0
in(l, 'integer') & in(m, 'integer') & 0 < 4*k^2 - 1 | in(l, 'integer') & in(m, 'integer') & 4*k^2 - 1 < 0
in(l, 'integer') & in(m, 'integer') & 0 < 4*k^2 - 1 | in(l, 'integer') & in(m, 'integer') & 4*k^2 - 1 < 0
in(l, 'integer') & in(m, 'integer') & 0 < 4*k^2 - 1
in(l, 'integer') & in(m, 'integer') & 0 < 4*k^2 - 1
>>
版权声明:本文标题:MATLAB solve求方程组所有的解 并assume添加条件 内容由热心网友自发贡献,该文观点仅代表作者本人, 转载请联系作者并注明出处:https://m.elefans.com/dongtai/1727341072a1109416.html, 本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。
发表评论