1条回答 默认 最新
- 技术专家团-Joel 2021-10-02 22:33关注
你好,答案仅供参考,一般符号求解和数值计算均可以这样做
syms x1(t) x2(t) syms a b real eq = [diff(x1)==a*x1+b*x2; diff(x2)==-b*x1+a*x2]; conds = [x1(0)==1; x2(0)==1]; [x1,x2] = dsolve(eq,conds); % (1) 四个解析解 x1_sol1 = subs(x1, [a,b], [0.1,1]) x2_sol1 = subs(x2, [a,b], [0.1,1]) x1_sol2 = subs(x1, [a,b], [0.1,-1]) x2_sol2 = subs(x2, [a,b], [0.1,-1]) x1_sol3 = subs(x1, [a,b], [-0.1,1]) x2_sol3 = subs(x2, [a,b], [-0.1,1]) x1_sol4 = subs(x1, [a,b], [-0.1,-1]) x2_sol4 = subs(x2, [a,b], [-0.1,-1]) % (2)数值解: a_arr = [0.1, -0.1]; b_arr = [1,-1]; count = 0; figure(1);clf; for i = 1:1:numel(a_arr) for j = 1:1:numel(b_arr) a = a_arr(i); b = b_arr(j); count = count + 1; subplot(2,2, count) odefun = @(t,x) [a*x(1)+b*x(2); -b*x(1)+a*x(2)]; [t,x] = ode45(odefun, [0, 10*pi], [1;1]); plot(x(:,1),x(:,2));%画相图 title(['a=',num2str(a),',b=',num2str(b)]) end end
最后表达式
x1_sol1 = exp(t/10)*cos(t) + exp(t/10)*sin(t) x2_sol1 = exp(t/10)*cos(t) - exp(t/10)*sin(t) x1_sol2 = exp(t/10)*cos(t) - exp(t/10)*sin(t) x2_sol2 = exp(t/10)*cos(t) + exp(t/10)*sin(t) x1_sol3 = exp(-t/10)*cos(t) + exp(-t/10)*sin(t) x2_sol3 = exp(-t/10)*cos(t) - exp(-t/10)*sin(t) x1_sol4 = exp(-t/10)*cos(t) - exp(-t/10)*sin(t) x2_sol4 = exp(-t/10)*cos(t) + exp(-t/10)*sin(t)
相图
可知
最终相图都是螺旋进入原点,且ab的正负决定了相图螺旋的方向本回答被题主选为最佳回答 , 对您是否有帮助呢?解决 无用评论 打赏 举报
悬赏问题
- ¥15 素材场景中光线烘焙后灯光失效
- ¥15 请教一下各位,为什么我这个没有实现模拟点击
- ¥15 执行 virtuoso 命令后,界面没有,cadence 启动不起来
- ¥50 comfyui下连接animatediff节点生成视频质量非常差的原因
- ¥20 有关区间dp的问题求解
- ¥15 多电路系统共用电源的串扰问题
- ¥15 slam rangenet++配置
- ¥15 有没有研究水声通信方面的帮我改俩matlab代码
- ¥15 ubuntu子系统密码忘记
- ¥15 保护模式-系统加载-段寄存器