📄 subsref.html
字号:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/REC-html40/loose.dtd"><html><head> <title>Description of subsref</title> <meta name="keywords" content="subsref"> <meta name="description" content="SUBSREF Reference methods on a LINK object"> <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"> <meta name="generator" content="m2html © 2003 Guillaume Flandin"> <meta name="robots" content="index, follow"> <link type="text/css" rel="stylesheet" href="../m2html.css"></head><body><a name="_top"></a><div><a href="../index.html">Home</a> > <a href="#">@link</a> > subsref.m</div><!--<table width="100%"><tr><td align="left"><a href="../index.html"><img alt="<" border="0" src="../left.png"> Master index</a></td><td align="right"><a href="index.html">Index for ./@link <img alt=">" border="0" src="../right.png"></a></td></tr></table>--><h1>subsref</h1><h2><a name="_name"></a>PURPOSE <a href="#_top"><img alt="^" border="0" src="../up.png"></a></h2><div class="box"><strong>SUBSREF Reference methods on a LINK object</strong></div><h2><a name="_synopsis"></a>SYNOPSIS <a href="#_top"><img alt="^" border="0" src="../up.png"></a></h2><div class="box"><strong>function v = subsref(l, s) </strong></div><h2><a name="_description"></a>DESCRIPTION <a href="#_top"><img alt="^" border="0" src="../up.png"></a></h2><div class="fragment"><pre class="comment">SUBSREF Reference methods on a LINK object LINK(q) return link transform (A) matrix LINK.alpha return DH parameters LINK.A LINK.theta LINK.D LINK.sigma return prismatic flag LINK.RP return 'R' or 'P' LINK.mdh 0 if standard D&H, else 1 LINK.offset return joint variable offset LINK.qlim return joint variable limits [min max] LINK.islimit(q) return if limit is exceeded: -1, 0, +1 LINK.I return 3x3 symmetric inertia matrix LINK.m return link mass LINK.r return 3x1 link COG vector LINK.G return gear ratio LINK.Jm return motor inertia LINK.B return viscous friction LINK.Tc return viscous friction LINK.dh return legacy DH row LINK.dyn return legacy DYN row</pre></div><!-- crossreference --><h2><a name="_cross"></a>CROSS-REFERENCE INFORMATION <a href="#_top"><img alt="^" border="0" src="../up.png"></a></h2>This function calls:<ul style="list-style-image:url(../matlabicon.gif)"><li><a href="char.html" class="code" title="function s = char(l)">char</a> CHAR Create string representation of LINK object</li></ul>This function is called by:<ul style="list-style-image:url(../matlabicon.gif)"></ul><!-- crossreference --><h2><a name="_subfunctions"></a>SUBFUNCTIONS <a href="#_top"><img alt="^" border="0" src="../up.png"></a></h2><ul style="list-style-image:url(../matlabicon.gif)"><li><a href="#_sub1" class="code">function t = linktran(a, b, c, d)</a></li><li><a href="#_sub2" class="code">function t = mlinktran(a, b, c, d)</a></li></ul><h2><a name="_source"></a>SOURCE CODE <a href="#_top"><img alt="^" border="0" src="../up.png"></a></h2><div class="fragment"><pre>0001 <span class="comment">%SUBSREF Reference methods on a LINK object</span>0002 <span class="comment">%</span>0003 <span class="comment">% LINK(q) return link transform (A) matrix</span>0004 <span class="comment">%</span>0005 <span class="comment">% LINK.alpha return DH parameters</span>0006 <span class="comment">% LINK.A</span>0007 <span class="comment">% LINK.theta</span>0008 <span class="comment">% LINK.D</span>0009 <span class="comment">% LINK.sigma return prismatic flag</span>0010 <span class="comment">% LINK.RP return 'R' or 'P'</span>0011 <span class="comment">% LINK.mdh 0 if standard D&H, else 1</span>0012 <span class="comment">%</span>0013 <span class="comment">% LINK.offset return joint variable offset</span>0014 <span class="comment">% LINK.qlim return joint variable limits [min max]</span>0015 <span class="comment">% LINK.islimit(q) return if limit is exceeded: -1, 0, +1</span>0016 <span class="comment">%</span>0017 <span class="comment">% LINK.I return 3x3 symmetric inertia matrix</span>0018 <span class="comment">% LINK.m return link mass</span>0019 <span class="comment">% LINK.r return 3x1 link COG vector</span>0020 <span class="comment">%</span>0021 <span class="comment">% LINK.G return gear ratio</span>0022 <span class="comment">% LINK.Jm return motor inertia</span>0023 <span class="comment">% LINK.B return viscous friction</span>0024 <span class="comment">% LINK.Tc return viscous friction</span>0025 <span class="comment">%</span>0026 <span class="comment">% LINK.dh return legacy DH row</span>0027 <span class="comment">% LINK.dyn return legacy DYN row</span>0028 0029 <span class="comment">% Copyright (C) 1999-2008, by Peter I. Corke</span>0030 <span class="comment">%</span>0031 <span class="comment">% This file is part of The Robotics Toolbox for Matlab (RTB).</span>0032 <span class="comment">%</span>0033 <span class="comment">% RTB is free software: you can redistribute it and/or modify</span>0034 <span class="comment">% it under the terms of the GNU Lesser General Public License as published by</span>0035 <span class="comment">% the Free Software Foundation, either version 3 of the License, or</span>0036 <span class="comment">% (at your option) any later version.</span>0037 <span class="comment">%</span>0038 <span class="comment">% RTB is distributed in the hope that it will be useful,</span>0039 <span class="comment">% but WITHOUT ANY WARRANTY; without even the implied warranty of</span>0040 <span class="comment">% MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the</span>0041 <span class="comment">% GNU Lesser General Public License for more details.</span>0042 <span class="comment">%</span>0043 <span class="comment">% You should have received a copy of the GNU Leser General Public License</span>0044 <span class="comment">% along with RTB. If not, see <http://www.gnu.org/licenses/>.</span>0045 0046 <a name="_sub0" href="#_subfunctions" class="code">function v = subsref(l, s)</a>0047 <span class="keyword">if</span> s(1).type == <span class="string">'()'</span>0048 <span class="keyword">if</span> l.mdh == 0,0049 v = <a href="#_sub1" class="code" title="subfunction t = linktran(a, b, c, d)">linktran</a>([l.alpha l.A l.theta l.D l.sigma], <span class="keyword">...</span>0050 s(1).subs{1}+l.offset);0051 <span class="keyword">else</span>0052 v = <a href="#_sub2" class="code" title="subfunction t = mlinktran(a, b, c, d)">mlinktran</a>([l.alpha l.A l.theta l.D l.sigma], <span class="keyword">...</span>0053 s(1).subs{1}+l.offset);0054 <span class="keyword">end</span>0055 <span class="keyword">elseif</span> s(1).type ~= <span class="string">'.'</span>0056 error(<span class="string">'only .field supported'</span>)0057 <span class="keyword">else</span>0058 0059 <span class="comment">% NOTE WELL: the following code can't use getfield() since</span>0060 <span class="comment">% getfield() uses this, and Matlab will crash!!</span>0061 0062 el = <a href="char.html" class="code" title="function s = char(l)">char</a>(s(1).subs);0063 <span class="keyword">switch</span> el,0064 <span class="comment">%%%%%%% kinematic parameters</span>0065 <span class="keyword">case</span> <span class="string">'alpha'</span>,0066 v = l.alpha;0067 <span class="keyword">case</span> <span class="string">'A'</span>,0068 v = l.A;0069 <span class="keyword">case</span> <span class="string">'theta'</span>,0070 v = l.theta;0071 <span class="keyword">case</span> <span class="string">'D'</span>,0072 v = l.D;0073 <span class="keyword">case</span> <span class="string">'offset'</span>,0074 v = l.offset;0075 <span class="keyword">case</span> <span class="string">'sigma'</span>,0076 v = l.sigma;0077 <span class="keyword">case</span> <span class="string">'RP'</span>,0078 <span class="keyword">if</span> l.sigma == 0,0079 v = <span class="string">'R'</span>;
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -