当前位置: 首页 > news >正文

matlab几种求解器的选择fsolve-sole-vpasolve

fsolve

求数值解

result_x=fsolve(@my_fun,x0,options)

参数:

my_fun:待求解函数,作为一个.m文件
x0:初始值,向量,可以仅仅指定其中的几项

solve

强大的求解器。在方程组中求解析解,如果求不出来会用vpasovle去求数值解

vpasovle

求数值解。

yinzi = pi/180;
alpha_ON = 70*yinzi;
alpha_OM = 50*yinzi; 
alpha_MN = 20*yinzi;
% m = 4;
% n = 2;
% R = 10;
% if abs(m-n)*2*pi/9<pi
%     theta_mn = abs(m-n)*2*pi/9;
% else
%     theta_mn = 2*pi-abs(m-n)*2*pi/9;
% end
%m = 3;
syms beta_m beta_n m;
theta_mn = 2*(m-1)*pi/9;
eq1 = sin(alpha_ON)*sin(beta_m)-sin(alpha_OM)*sin(beta_n) == 0;
eq2 = 2*sin(theta_mn/2)*sin(alpha_ON)*cos(theta_mn/2+beta_m) - sin(alpha_MN)*sin(beta_n+alpha_ON) == 0;
eq3 = beta_m + alpha_OM + theta_mn - beta_n - alpha_ON == 0;
sol = vpasolve([eq1, eq2, eq3], [beta_m, beta_n ,m]);%sol = solve([eq1, eq2], [beta_m, beta_n]);
%disp(sol);
ans_beta_m = sol.beta_m*180/pi
ans_beta_n = sol.beta_n*180/pi
R = 10;
pho_x = R/sin(alpha_OM)*sin(sol.beta_m)

总结

求解发现vpasolve的求解器求出了错误的解,fsolve求出了正确的解。

vpasovle的结果

pho_x =-1.2420365392830642226815671080075

fsovle的结果

pho_x =10.0000
http://www.lryc.cn/news/157935.html

相关文章:

  • 无限访问 GPT-4,OpenAI 强势推出 ChatGPT 企业版!
  • MySQL的故事——Schema与数据类型优化
  • C++编译和链接
  • 【CSDN技术】Markdown编辑器如何使用-csdn博客编写入门
  • 【docker】运行redis
  • Paddle训练COCO-stuff数据集学习记录
  • SpringBoot 框架学习
  • java - lua - redis 完成商品库存的删减
  • dbeaver离线安装clickhouse连接驱动
  • 2024腾讯校招后端面试真题汇总及其解答(二)
  • datagrip 相关数据连接信息无缝迁移
  • 不就是G2O嘛
  • C#开发的OpenRA游戏之系统参数选项按钮
  • 苹果启动2024年SRDP计划:邀请安全专家使用定制iPhone寻找漏洞
  • std::make_shared和new初始化智能指针的区别
  • 无涯教程-JavaScript - ERFC.PRECISE函数
  • 2023国赛数学建模C题思路分析 - 蔬菜类商品的自动定价与补货决策
  • 手写Spring:第1章-开篇介绍,手写Spring
  • C语言中,字节对齐是一种重要的内存管理概念
  • 网络丢包问题,敢不敢这样定位?
  • 【漏洞复现】H3C路由器信息泄露任意用户登录
  • 随机数算法,SQL
  • 什么是软件测试+软件测试的分类【软件测试】
  • 2023国赛C题解题思路:蔬菜类商品的自动定价与补货决策
  • MIT6.824 Spring2021 Lab 1: MapReduce
  • JavaScript 日期 – 如何使用 DayJS 库在 JS 中处理日期和时间
  • Docker基础入门:Docker基础总结篇--超详细
  • 对象临时中间状态的条件竞争覆盖
  • Nodejs 第十四章(process)
  • 数据分析因子评分学习