最近在做毕设,有些设计片段想记录下来。

这次为利用Matlab求解Stewart并联机构位置正解,方法为牛顿迭代法。

具体公式可参考《数值计算方法与算法》科学出版社。

方程组可由位置反解公式建立。

给出具体代码:

(1)fun.m建立方程组

function f=fun(x)
S_cooedinate =  [ 295.8040, 50, 0 ;-104.6002, 281.1682, 0 ;-191.1933, 231.1820, 0 ;-191.1933, -231.1820, 0;-104.6002, -281.1682, 0 ;%静平台连接点坐标295.8040, -50, 0 ];
M_coordinate = [ 140.1144 , 142.7163, 0;  53.5387, 192.7008, 0;-193.6531, 49.9844, 0 ;-193.6531, -49.9844, 0 ;53.5387, -192.7008, 0 ;140.1144 , -142.7163, 0 ];%动平台连接点在动坐标系的坐标
length=[570 513 355 384 447 399]; %给定杆1-6的长度,这个长度就是动静平台连接点之间的距离。单位mm
syms X Y Z A B G ;
for i=1:6M_TO_S_coordinate(i,1)= cos(G) * cos(B) * M_coordinate(i, 1) + (sin(A) * sin(B) * cos(G) - cos(A) *sin(G)) * M_coordinate(i, 2) + (cos(G) * sin(B) * cos(G) +sin(A) *sin(G)) * M_coordinate(i, 3) + X;M_TO_S_coordinate(i,2)= cos(B) *sin(G) * M_coordinate(i, 1) + (sin(A) * sin(B) * sin(G) +cos(A) * cos(G)) *M_coordinate(i, 2) +(cos(A) *sin(B) *sin(G) - sin(A) * cos(G)) * M_coordinate(i, 3) +Y;
M_TO_S_coordinate(i,3)= -sin(B) *  M_coordinate(i, 1) + sin(A) * cos(B) * M_coordinate(i, 2) + cos(A) *cos(B) *  M_coordinate(i, 3) + Z;
end %进行坐标变换,静动坐标系的动平台坐标转换为静坐标
for i=1:6F(i,1)=((M_TO_S_coordinate(i,1)- S_cooedinate(i,1))^2+(M_TO_S_coordinate(i,2)- S_cooedinate(i,2))^2+(M_TO_S_coordinate(i,3)- S_cooedinate(i,3))^2)^0.5-length(i);
end  %空间两点距离公式算杆长,建立方程组f=  F;

(2)dfun.m求雅可比矩阵

function j=dfun(x)
F=fun();
jacobi=[diff( F,'X') diff( F,'Y') diff( F,'Z') diff( F,'A') diff( F,'B') diff( F,'G')];
j=jacobi;

(3)newton.m用牛顿迭代法进行求解

X0=[20;80;390;0.52;0.41;0.1];%给定初值,不能乱给,会迭代发散,求解失败
esp=0.0001;%精度
E=1;%差值
while abs(E)>espf=double(subs(fun(X0),{'X','Y','Z','A','B','G'},{X0(1,1),X0(2,1),X0(3,1),X0(4,1),X0(5,1),X0(6,1)}));%subs进行变量替换,将符号变量替换相应数值jacobi=double(subs(dfun(X0),{'X','Y','Z','A','B','G'},{X0(1,1),X0(2,1),X0(3,1),X0(4,1),X0(5,1),X0(6,1)}));X=X0-jacobi^-1*f;E=X-X0;X0=X;
end

利用Matlab求解Stewart并联机构位置正解,方法为牛顿迭代法相关推荐

  1. 利用fsolve函数求解Stewart平台运动学正解

    function STEWART_fsolve() format long x=fsolve(@myfun,[0;0;20;0;0;0]) %调用函数 endfunction f=myfun(x) s ...

  2. 【电磁】基于matlab求解瞬变电磁TEM层状介质正演【含Matlab源码 2164期】

    ⛄一.获取代码方式 获取代码方式1: 完整代码已上传我的资源:[电磁]基于matlab求解瞬变电磁TEM层状介质正演[含Matlab源码 2164期] 点击上面蓝色字体,直接付费下载,即可. 获取代码 ...

  3. matlab求解全微分函数,利用MATLAB求解微分方程的方法探索

    引言 科学问题和工程问题经常需要求取微分方程的解,MATLAB 的强大数值运算和符号运算能力,能够方便地进行各种解析运算,是方便实用.功能强大的数学软件之一. 1线性微分方程求解 1.1线性常微分方程 ...

  4. 线性规划问题的数学建模matlab,数学建模讲座之三——利用Matlab求解线性规划问题(linprog函数).ppt...

    数学建模讲座之三--利用Matlab求解线性规划问题(linprog函数) 利用Matlab求解线性规划问题 线性规划是一种优化方法,Matlab优化工具箱中有现成函数linprog对如下式描述的LP ...

  5. 利用matlab求解线性规划,数学建模讲座之三利用matlab求解线性规划问题(linprog函数)...

    数学建模讲座之三利用matlab求解线性规划问题(linprog函数) 利用利用 Matlab求解线性规划问题求解线性规划问题河北科技河北科技 大学大学*第第 1页页利用 Matlab求解线性规划问题 ...

  6. 如何利用matlab求解方程

    如何利用matlab求解方程 1.    前言 作为三大数学软件之一,matlab在数值计算方法的能力首屈一指.求解方程是工科学习和工程计算中最基础.最常见的问题.掌握利用现代化工具求解方程的方法对于 ...

  7. 运筹学matlab实验报告,运筹学上机实验报告 利用Matlab求解整数线性规划

    四川师范大学数学与软件科学学院运筹学上机实验报告. 学期:__2011_至__2012__ 第___一__ 学期 2011年11月9日 课程名称:__ 运 筹 学 ________ 专业:_信息与计算 ...

  8. pythonchar中的拟合方法_在python中利用numpy求解多项式以及多项式拟合的方法

    构建一个二阶多项式:x^2 - 4x + 3 多项式求解 >>> p = np.poly1d([1,-4,3]) #二阶多项式系数 >>> p(0) #自变量为0时 ...

  9. matlab 提取极值,利用matlab 进行极值统计的一个例子——gev 方法.pdf

    利用matlab 进行极值统计的一个例子--gev 方法 利用 Matlab 进行极值统计的一个例子--GEV 方法 科研菜鸟 /u/sanshiphy 数据和例子均来自于 S. Coles, An ...

  10. MATLAB求解非线性方程组的五种方法

    MATLAB求解非线性方程组的五种方法 求解线性方程分为两种方法–二分法和迭代法 常见的方法一共有5种 二分法 迭代法 牛顿法 割线法 拟牛顿法 Halley法 使用条件 二分法需要知道两个自变量,分 ...

最新文章

  1. LeetCode刷题记录14——257. Binary Tree Paths(easy)
  2. 春招来袭!程序员如何拿下硅谷顶级公司200万年薪?
  3. 14 类编程题解法总结
  4. python学习笔记(十)——迭代器和生成器(外加import功能)
  5. 编写Tesseract的Python扩展
  6. java语言怎样判断文件夹_JAVA语言之如何判断文件,判断文件夹是否存在的代码...
  7. 微机原理实验8254计算机钢琴,GitHub - SincereXIA/PianoMFC: 西电微机原理课设项目,键盘电子乐器演奏程序设计(电子琴),MFC...
  8. python counter模块_python collections模块 计数器(counter)
  9. 计算机陕西高校保研排名,陕西18所大学2021届保研率排行榜
  10. html游戏贪吃蛇代码,html5贪吃蛇游戏使用63行代码完美实现
  11. vscode怎么连接mysql_如何在VSCode连接使用MySQL数据库?
  12. bzoj 1833: [ZJOI2010]count 数字计数(数字0-9的个数)
  13. 线性表的顺序存储结构--数组(顺序表)、栈、队列
  14. win10微软图标点击无反应_Win10任务栏系统图标点击无反应的解决方法
  15. 手把手带你学习Odoo OWL组件开发(1):认识 OWL
  16. LeetCode精选TOP面试题(中等篇)【出现率降序】
  17. open函数返回-1_这 68 个 Python 内置函数请收好!
  18. 从头撸到脚,SpringBoot 就一篇全搞定!
  19. Windows资源管理器
  20. 华为nova青春版是html手机吗,华为Nova青春版这款手机作为新青年良品:麒麟935+4G+64GB+18W快充...

热门文章

  1. 手把手学习Vue3.0:开发工具WebStorm和Vue模板文件介绍
  2. Redis与数据库数据同步解决方案
  3. Premiere 2020安装及Premiere缺失字体处理
  4. 文电通:助力企业入局“无纸化办公”!
  5. DNS服务器安装(linux)
  6. java手机连点脚本_自动连点器app下载 自动连点器(屏幕点击器) for Android v1.0 安卓版 下载-脚本之家...
  7. 【idea打包jar包+运行jar包】亲测详解
  8. 随访软件的计算机技术,患者随访管理系统
  9. 一个简单易用的m3u8下载器,支持下载m3u8链接或文件为mp4或ts格式
  10. java公寓报修管理系统,基于jsp的公寓报修管理系统-JavaEE实现公寓报修管理系统 - java项目源码...