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

matlab怎么求解非线性方程组,请教,如何利用Matlab求解复杂的非线性方程组

题主,能帮忙看一下我的这个程序吗,也是相当于非线性方程组求解的

syms arf theta gama

l1=7.0;

l2=l1;

l3=l2;

para;

L=2.66;

T(1,1)=cos(theta)*cos(gama);

T(1,2)=-cos(arf)*sin(gama)+sin(arf)*sin(theta)*cos(gama);

T(1,3)=sin(arf)*sin(gama)+cos(arf)*sin(theta)*cos(gama);

T(2,1)=cos(theta)*sin(gama);

T(2,2)=cos(arf)*cos(gama)+sin(arf)*sin(theta)*sin(gama);

T(2,3)=-sin(arf)*cos(gama)+cos(arf)*sin(theta)*sin(gama);

T(3,1)=-sin(theta);

T(3,2)=sin(arf)*cos(theta);

T(3,3)=cos(arf)*cos(theta);

S=T*A-B;

M=(l1^2-l2^2-S(1,1)^2-S(2,1)^2-S(3,1)^2+S(1,2)^2+S(2,2)^2+S(3,2)^2)/2;

N=(l2^2-l3^2-S(1,2)^2-S(2,2)^2-S(3,2)^2+S(1,3)^2+S(2,3)^2+S(3,3)^2)/2;

S1(1,1)=S(1,1)-S(1,2);

S1(1,2)=S(2,1)-S(2,2);

S1(2,1)=S(1,2)-S(1,3);

S1(2,2)=S(2,2)-S(2,3);

S2=inv(S1);

%%求q4,q5用q6表达式的系数

a=-((S(3,1)-S(3,2))*S2(1,1)+(S(3,2)-S(3,3))*S2(1,2));

b=M*S2(1,1)+N*S2(1,2);

c=-((S(3,1)-S(3,2))*S2(2,1)+(S(3,2)-S(3,3))*S2(2,2));

d=M*S2(2,1)+N*S2(2,2);

%%求q6的一元二次方程系数

c1=a^2+c^2+1;

c2=2*(a*(S(1,3)+b)+c*(S(2,3)+d)+S(3,3));

c3=(S(1,3)+b)^2+(S(2,3)+d)^2+(S(3,3))^2-49;

%%求解牵连平动的值即用arf theta gama表示出q4 q5 q6

q6=(-c2+(c2^2-4*c1*c3)^0.5)/2/c1;

q5=c*q6+d;

q4=a*q6+b;

Jv(1,1)=diff(q4,arf);Jv(1,2)=diff(q4,theta);Jv(1,3)=diff(q4,gama);%%%%雅可比矩阵

Jv(2,1)=diff(q5,arf);Jv(2,2)=diff(q5,theta);Jv(2,3)=diff(q5,gama);

Jv(3,1)=diff(q6,arf);Jv(3,2)=diff(q6,theta);Jv(3,3)=diff(q6,gama);

在最后我想给arf theta gama赋值用的 Jv=double(subs(Jv,{arf,theta,gama},{2,1,1}))不知为什么计算这么慢

相关文章:

  • php自定义函数变量,php自定义函数之变量作用域
  • python 判断文件类型,利用Python获取文件类型
  • php将ip写入文件,php – 允许仅从1个IP地址访问所有文件,并将所有其他文件重定向到其他文件...
  • oracle中blob的表导出,把表中的blob字段导出,并且用一个唯一名称来命名导出的文件。...
  • linux zip压缩排除目录,Linux系统zip压缩命令详细参数,附文件排除选项的正确用法...
  • linux 内核版本 4.4,Linux Kernel 4.4 正式发布下载
  • linux内核找不到sata分区表,分区表坏了,我的linux不见了
  • amd支持的Linux内核,Linux Kernel 4.7.2版本发布:改善对AMDGPU和ARM64的支持
  • linux grep 获取当天时间段,linux – 如何在一个时间范围内grep httpd error_log?
  • Linux内核i2c通信,绝对干货!基于Cortex-A9,分析Linux内核I2C架构
  • linux中文本文件过滤搜索,Linux命令(八)过滤文本 grep
  • linux获得ram地址,Linux 如何查看系統硬體的記憶體(RAM)資訊
  • linux qt多屏幕输出,QT5 Ubuntu下c++调用linux命令、显示输出、执行多条命令
  • linux 获取时间间隔,获取时间间隔避免误差的方法
  • linux下for循环怎么退出,Linux之for循环进程终止的方法
  • [笔记] php常见简单功能及函数
  • 【Leetcode】104. 二叉树的最大深度
  • Angular js 常用指令ng-if、ng-class、ng-option、ng-value、ng-click是如何使用的?
  • HomeBrew常规使用教程
  • Next.js之基础概念(二)
  • Transformer-XL: Unleashing the Potential of Attention Models
  • 不用申请服务号就可以开发微信支付/支付宝/QQ钱包支付!附:直接可用的代码+demo...
  • 服务器从安装到部署全过程(二)
  • 服务器之间,相同帐号,实现免密钥登录
  • 干货 | 以太坊Mist负责人教你建立无服务器应用
  • 面试题:给你个id,去拿到name,多叉树遍历
  • 前端临床手札——文件上传
  • 首页查询功能的一次实现过程
  • 新书推荐|Windows黑客编程技术详解
  • 大数据全解:定义、价值及挑战
  • 如何用纯 CSS 创作一个菱形 loader 动画
  • (done) ROC曲线 和 AUC值 分别是什么?
  • (Redis使用系列) SpringBoot中Redis的RedisConfig 二
  • (TOJ2804)Even? Odd?
  • (zt)最盛行的警世狂言(爆笑)
  • (亲测有效)解决windows11无法使用1500000波特率的问题
  • (三)mysql_MYSQL(三)
  • (十三)Maven插件解析运行机制
  • (一)u-boot-nand.bin的下载
  • ./include/caffe/util/cudnn.hpp: In function ‘const char* cudnnGetErrorString(cudnnStatus_t)’: ./incl
  • .net core 调用c dll_用C++生成一个简单的DLL文件VS2008
  • ?.的用法
  • @Transactional注解下,循环取序列的值,但得到的值都相同的问题
  • [20150707]外部表与rowid.txt
  • [AIGC codze] Kafka 的 rebalance 机制
  • [android] 看博客学习hashCode()和equals()
  • [AR Foundation] 人脸检测的流程
  • [codeforces] 25E Test || hash
  • [delphi]保证程序只运行一个实例
  • [Hive] CTE 通用表达式 WITH关键字
  • [JDBC-1] JDBC Base Template
  • [Labtools 27-1429] XML parser encountered a problem in file
  • [LeetCode]—Copy List with Random Pointer 深度复制带“任意指针”的链表
  • [Linux] 常用命令--版本信息/关机重启/目录/文件操作
  • [Linux]进程间通信(进程间通信介绍 | 匿名管道 | 命名管道)