matlab - 如何在 Matlab 中找到两个非线性图的交集值?
问题描述
https://drive.google.com/file/d/1HEBkm1KUdKWbMOsNR6v-hDoIT1RSKFeg/view?usp=sharing
clear all;close all;clc
syms x y
[solx,soly] = solve(y+cos(x) == 0, (x-1)^2+(y-1)^2-4 == 0)
我能够得到 [x1,y1] 坐标,即 [0.41864,-0.91364]。但是,我无法找到另一个根。有人能帮我吗?
解决方案
如果 solve 无法找到解决方案并且
ReturnConditions
为 false,则该solve
函数在内部调用vpasolve
试图找到数值解决方案的数值求解器。对于没有符号参数的多项式方程和系统,数值求解器返回所有解。对于没有符号参数的非多项式方程和系统,数值求解器仅返回一个解(如果存在解)。
基本上,当你的方程是非多项式时,你只会得到一个解。您可以通过直接调用vpasolve
并传递一个间隔来获得其他解决方案。
>> [solx,soly] = solve(y+cos(x) == 0, (x-1)^2+(y-1)^2-4 == 0)
[0.41864281074457462101303466040894, -0.91364150731035083238926541575963]
>> [sol2x,sol2y] = vpasolve(y+cos(x) == 0, (x-1)^2+(y-1)^2-4 == 0, [1,5])
[2.9999749446149569424146377450705, 0.98998896047356166485626815000393]
推荐阅读
- javascript - 使用 React 为同一对象的多个实例动态创建网页
- c# - Task.When all 在所有任务之前完成
- visual-c++ - VC++ 2019 文件夹位置
- fullcalendar - FullCalendar 资源和列分组
- tensorflow-federated - 有没有办法模拟 tensorflow-federated 中的通信成本?
- javascript - 单击href后不显示Boostrap模式
- mysql - 设计联系人之间关系的mysql数据库?
- node.js - Azure Blob 存储默认压缩文件?
- openlayers - OpenLayers 读/写 GeoJSON
- python - 读取名称每天更改的 csv 文件