[37] | 1 | <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" |
---|
| 2 | "http://www.w3.org/TR/REC-html40/loose.dtd"> |
---|
| 3 | <html> |
---|
| 4 | <head> |
---|
| 5 | <title>Description of sub_field</title> |
---|
| 6 | <meta name="keywords" content="sub_field"> |
---|
| 7 | <meta name="description" content="'sub_field': combines two input fields + mask for uvmat"> |
---|
| 8 | <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"> |
---|
| 9 | <meta name="generator" content="m2html © 2003 Guillaume Flandin"> |
---|
| 10 | <meta name="robots" content="index, follow"> |
---|
| 11 | <link type="text/css" rel="stylesheet" href="../m2html.css"> |
---|
| 12 | </head> |
---|
| 13 | <body> |
---|
| 14 | <a name="_top"></a> |
---|
| 15 | <div><a href="../index.html">Home</a> > <a href="index.html">.</a> > sub_field.m</div> |
---|
| 16 | |
---|
| 17 | <!--<table width="100%"><tr><td align="left"><a href="../index.html"><img alt="<" border="0" src="../left.png"> Master index</a></td> |
---|
| 18 | <td align="right"><a href="index.html">Index for . <img alt=">" border="0" src="../right.png"></a></td></tr></table>--> |
---|
| 19 | |
---|
| 20 | <h1>sub_field |
---|
| 21 | </h1> |
---|
| 22 | |
---|
| 23 | <h2><a name="_name"></a>PURPOSE <a href="#_top"><img alt="^" border="0" src="../up.png"></a></h2> |
---|
| 24 | <div class="box"><strong>'sub_field': combines two input fields + mask for uvmat</strong></div> |
---|
| 25 | |
---|
| 26 | <h2><a name="_synopsis"></a>SYNOPSIS <a href="#_top"><img alt="^" border="0" src="../up.png"></a></h2> |
---|
| 27 | <div class="box"><strong>function SubData=sub_field(UvData,Field); </strong></div> |
---|
| 28 | |
---|
| 29 | <h2><a name="_description"></a>DESCRIPTION <a href="#_top"><img alt="^" border="0" src="../up.png"></a></h2> |
---|
| 30 | <div class="fragment"><pre class="comment">'sub_field': combines two input fields + mask for uvmat |
---|
| 31 | ----------------------------------------------------------------------- |
---|
| 32 | function SubData=sub_field(UvData,Field) |
---|
| 33 | |
---|
| 34 | OUPUT: |
---|
| 35 | SubData: structure representing the resulting field |
---|
| 36 | |
---|
| 37 | INPUT: |
---|
| 38 | UvData: main structure UvData associated to the uvmat GUI as 'UserData' |
---|
| 39 | Field: cell of Matlab structures representing the input fields |
---|
| 40 | |
---|
| 41 | -- TODO: need to be rationalized --</pre></div> |
---|
| 42 | |
---|
| 43 | <!-- crossreference --> |
---|
| 44 | <h2><a name="_cross"></a>CROSS-REFERENCE INFORMATION <a href="#_top"><img alt="^" border="0" src="../up.png"></a></h2> |
---|
| 45 | This function calls: |
---|
| 46 | <ul style="list-style-image:url(../matlabicon.gif)"> |
---|
| 47 | <li><a href="calc_field.html" class="code" title="function [DataOut,errormsg]=calc_field(FieldName,DataIn)">calc_field</a> 'calc_field': defines fields (velocity, vort, div...) from civx data and calculate them</li><li><a href="griddata_uvmat.html" class="code" title="function ZI = griddata_uvmat(X,Y,Z,XI,YI)">griddata_uvmat</a> 'griddata_uvmat': function griddata_uvmat(vec2_X,vec2_Y,vec2_U,vec_X,vec_Y,'linear')</li><li><a href="proj_grid.html" class="code" title="function [A,rangx,rangy]=proj_grid(vec_X,vec_Y,vec_A,rgx_in,rgy_in,npxy_in)">proj_grid</a> 'proj_grid': project fields with unstructured coordinantes on a regular grid</li></ul> |
---|
| 48 | This function is called by: |
---|
| 49 | <ul style="list-style-image:url(../matlabicon.gif)"> |
---|
| 50 | <li><a href="uvmat.html" class="code" title="function varargout = uvmat(varargin)">uvmat</a> 'uvmat': function associated with the GUI 'uvmat.fig' for images and data field visualization</li></ul> |
---|
| 51 | <!-- crossreference --> |
---|
| 52 | |
---|
| 53 | |
---|
| 54 | <h2><a name="_source"></a>SOURCE CODE <a href="#_top"><img alt="^" border="0" src="../up.png"></a></h2> |
---|
| 55 | <div class="fragment"><pre>0001 <span class="comment">%'sub_field': combines two input fields + mask for uvmat</span> |
---|
| 56 | 0002 <span class="comment">%-----------------------------------------------------------------------</span> |
---|
| 57 | 0003 <span class="comment">% function SubData=sub_field(UvData,Field)</span> |
---|
| 58 | 0004 <span class="comment">%</span> |
---|
| 59 | 0005 <span class="comment">% OUPUT:</span> |
---|
| 60 | 0006 <span class="comment">% SubData: structure representing the resulting field</span> |
---|
| 61 | 0007 <span class="comment">%</span> |
---|
| 62 | 0008 <span class="comment">% INPUT:</span> |
---|
| 63 | 0009 <span class="comment">% UvData: main structure UvData associated to the uvmat GUI as 'UserData'</span> |
---|
| 64 | 0010 <span class="comment">% Field: cell of Matlab structures representing the input fields</span> |
---|
| 65 | 0011 <span class="comment">%</span> |
---|
| 66 | 0012 <span class="comment">% -- TODO: need to be rationalized --</span> |
---|
| 67 | 0013 |
---|
| 68 | 0014 <a name="_sub0" href="#_subfunctions" class="code">function SubData=sub_field(UvData,Field);</a> |
---|
| 69 | 0015 |
---|
| 70 | 0016 SubData=UvData;<span class="comment">%default</span> |
---|
| 71 | 0017 <span class="keyword">if</span> isfield(SubData,<span class="string">'ListVarName'</span>) |
---|
| 72 | 0018 SubData=rmfield(SubData,<span class="string">'ListVarName'</span>); |
---|
| 73 | 0019 <span class="keyword">end</span> |
---|
| 74 | 0020 <span class="keyword">if</span> ~exist(<span class="string">'Field'</span>,<span class="string">'var'</span>) |
---|
| 75 | 0021 <span class="keyword">return</span> |
---|
| 76 | 0022 <span class="keyword">end</span> |
---|
| 77 | 0023 <span class="keyword">if</span> ~iscell(Field) |
---|
| 78 | 0024 <span class="keyword">return</span> |
---|
| 79 | 0025 <span class="keyword">end</span> |
---|
| 80 | 0026 nbfield=length(Field); |
---|
| 81 | 0027 <span class="keyword">if</span> nbfield==1 & isfield(Field{1},<span class="string">'ListVarName'</span>) |
---|
| 82 | 0028 SubData=Field{1}; |
---|
| 83 | 0029 <span class="keyword">if</span> isfield(UvData,<span class="string">'Object'</span>) |
---|
| 84 | 0030 SubData.Object=UvData.Object; |
---|
| 85 | 0031 <span class="keyword">end</span> |
---|
| 86 | 0032 <span class="keyword">if</span> isfield(UvData,<span class="string">'XmlData'</span>) |
---|
| 87 | 0033 SubData.XmlData=UvData.XmlData; |
---|
| 88 | 0034 <span class="keyword">end</span> |
---|
| 89 | 0035 <span class="keyword">return</span> |
---|
| 90 | 0036 <span class="keyword">end</span> |
---|
| 91 | 0037 |
---|
| 92 | 0038 <span class="comment">%transfer error messages</span> |
---|
| 93 | 0039 testerror=0; |
---|
| 94 | 0040 <span class="keyword">if</span> ~isfield(SubData,<span class="string">'Txt'</span>) |
---|
| 95 | 0041 <span class="keyword">for</span> ifield=1:nbfield |
---|
| 96 | 0042 <span class="keyword">if</span> isfield(Field{ifield},<span class="string">'Txt'</span>) |
---|
| 97 | 0043 SubData.Txt=Field{ifield}.Txt; |
---|
| 98 | 0044 testerror=1; |
---|
| 99 | 0045 <span class="keyword">end</span> |
---|
| 100 | 0046 <span class="keyword">end</span> |
---|
| 101 | 0047 <span class="keyword">end</span> |
---|
| 102 | 0048 |
---|
| 103 | 0049 <span class="comment">%fields</span> |
---|
| 104 | 0050 <span class="keyword">if</span> nbfield >=1 |
---|
| 105 | 0051 <span class="keyword">if</span> isfield(Field{1},<span class="string">'dt'</span>) |
---|
| 106 | 0052 SubData.dt=Field{1}.dt; |
---|
| 107 | 0053 <span class="keyword">elseif</span> isfield(SubData,<span class="string">'dt'</span>) |
---|
| 108 | 0054 SubData=rmfield(SubData,<span class="string">'dt'</span>); |
---|
| 109 | 0055 <span class="keyword">end</span> |
---|
| 110 | 0056 <span class="keyword">if</span> isfield(Field{1},<span class="string">'CoordType'</span>) |
---|
| 111 | 0057 SubData.CoordType=Field{1}.CoordType; |
---|
| 112 | 0058 <span class="comment">%A FAIRE: Case of Field{2}.CoordType different</span> |
---|
| 113 | 0059 <span class="keyword">end</span> |
---|
| 114 | 0060 <span class="comment">%background scalar</span> |
---|
| 115 | 0061 <span class="keyword">if</span> isfield(Field{1},<span class="string">'AName'</span>) |
---|
| 116 | 0062 SubData.AName=Field{1}.AName; |
---|
| 117 | 0063 <span class="keyword">if</span> nbfield >=2 & isfield(Field{2},<span class="string">'AName'</span>)& ~isfield(Field{2},<span class="string">'A'</span>) |
---|
| 118 | 0064 SubData.Txt=<span class="string">'ERROR: no substraction of background scalar'</span>; |
---|
| 119 | 0065 <span class="keyword">end</span> |
---|
| 120 | 0066 <span class="keyword">elseif</span> nbfield>=2 & isfield(Field{2},<span class="string">'AName'</span>) |
---|
| 121 | 0067 SubData.AName=Field{2}.AName;<span class="comment">%transfer the second scalar or image field</span> |
---|
| 122 | 0068 <span class="keyword">elseif</span> isfield(SubData,<span class="string">'AName'</span>) |
---|
| 123 | 0069 SubData=rmfield(SubData,<span class="string">'AName'</span>); |
---|
| 124 | 0070 <span class="keyword">end</span> |
---|
| 125 | 0071 testA=0; |
---|
| 126 | 0072 <span class="keyword">if</span> isfield(Field{1},<span class="string">'A'</span>)& isfield(Field{1},<span class="string">'AX'</span>) & isfield(Field{1},<span class="string">'AY'</span>) |
---|
| 127 | 0073 SubData.A=Field{1}.A; |
---|
| 128 | 0074 SubData.AX=Field{1}.AX; |
---|
| 129 | 0075 SubData.AY=Field{1}.AY; |
---|
| 130 | 0076 <span class="keyword">if</span> nbfield >=2 & isfield(Field{2},<span class="string">'A'</span>)& isfield(Field{2},<span class="string">'AX'</span>) & isfield(Field{2},<span class="string">'AY'</span>) |
---|
| 131 | 0077 <span class="keyword">if</span> isequal(Field{2}.AX,Field{1}.AX) & isequal(Field{2}.AY,Field{1}.AY) &<span class="keyword">...</span> |
---|
| 132 | 0078 isequal(size(Field{2}.A),size(Field{1}.A)) |
---|
| 133 | 0079 SubData.A=double(Field{1}.A)-double(Field{2}.A); |
---|
| 134 | 0080 <span class="keyword">if</span> isa(Field{1}.A,<span class="string">'uint8'</span>) |
---|
| 135 | 0081 SubData.A=int8(SubData.A); |
---|
| 136 | 0082 <span class="keyword">elseif</span> isa(Field{1}.A,<span class="string">'uint16'</span>) |
---|
| 137 | 0083 SubData.A=int16(SubData.A);<span class="comment">%signed integer</span> |
---|
| 138 | 0084 <span class="keyword">end</span> |
---|
| 139 | 0085 <span class="keyword">else</span> |
---|
| 140 | 0086 SubData.Txt=<span class="string">'ERROR in image substraction: unequal image sizes'</span>; |
---|
| 141 | 0087 <span class="keyword">end</span> |
---|
| 142 | 0088 <span class="keyword">end</span> |
---|
| 143 | 0089 testA=1; |
---|
| 144 | 0090 <span class="keyword">elseif</span> nbfield>=2 & isfield(Field{2},<span class="string">'A'</span>)& isfield(Field{2},<span class="string">'AX'</span>) & isfield(Field{2},<span class="string">'AY'</span>) |
---|
| 145 | 0091 SubData.A=Field{2}.A;<span class="comment">%transfer the second scalar or image field</span> |
---|
| 146 | 0092 SubData.AX=Field{2}.AX; |
---|
| 147 | 0093 SubData.AY=Field{2}.AY; |
---|
| 148 | 0094 testA=1; |
---|
| 149 | 0095 <span class="keyword">end</span> |
---|
| 150 | 0096 <span class="keyword">if</span> ~isfield(SubData,<span class="string">'NbDim'</span>) |
---|
| 151 | 0097 SubData.NbDim=2;<span class="comment">%nbdim=2 by default</span> |
---|
| 152 | 0098 <span class="keyword">end</span> |
---|
| 153 | 0099 <span class="comment">% if ~testA</span> |
---|
| 154 | 0100 <span class="comment">%coordinates</span> |
---|
| 155 | 0101 ivel=1; |
---|
| 156 | 0102 <span class="keyword">if</span> isfield(Field{1},<span class="string">'X'</span>) |
---|
| 157 | 0103 SubData.X=Field{1}.X; |
---|
| 158 | 0104 <span class="keyword">elseif</span> nbfield>=2 & isfield(Field{2},<span class="string">'X'</span>) |
---|
| 159 | 0105 SubData.X=Field{2}.X; |
---|
| 160 | 0106 ivel=2; |
---|
| 161 | 0107 <span class="keyword">elseif</span> isfield(SubData,<span class="string">'X'</span>) |
---|
| 162 | 0108 SubData=rmfield(SubData,<span class="string">'X'</span>); |
---|
| 163 | 0109 <span class="keyword">end</span> |
---|
| 164 | 0110 <span class="keyword">if</span> isfield(Field{ivel},<span class="string">'Y'</span>) |
---|
| 165 | 0111 SubData.Y=Field{ivel}.Y; |
---|
| 166 | 0112 <span class="keyword">elseif</span> isfield(SubData,<span class="string">'Y'</span>) |
---|
| 167 | 0113 SubData=rmfield(SubData,<span class="string">'Y'</span>); |
---|
| 168 | 0114 <span class="keyword">end</span> |
---|
| 169 | 0115 <span class="keyword">if</span> isfield(Field{ivel},<span class="string">'Z'</span>) |
---|
| 170 | 0116 SubData.Z=Field{ivel}.Z; |
---|
| 171 | 0117 <span class="comment">%don't remove Z (set by uvmat)</span> |
---|
| 172 | 0118 <span class="keyword">end</span> |
---|
| 173 | 0119 |
---|
| 174 | 0120 <span class="comment">%velocity components and derived scalar</span> |
---|
| 175 | 0121 <span class="keyword">if</span> isfield(Field{ivel},<span class="string">'U'</span>) |
---|
| 176 | 0122 SubData.U=Field{ivel}.U; |
---|
| 177 | 0123 <span class="keyword">elseif</span> isfield(SubData,<span class="string">'U'</span>) |
---|
| 178 | 0124 SubData=rmfield(SubData,<span class="string">'U'</span>); |
---|
| 179 | 0125 <span class="keyword">end</span> |
---|
| 180 | 0126 <span class="keyword">if</span> isfield(Field{ivel},<span class="string">'V'</span>) |
---|
| 181 | 0127 SubData.V=Field{ivel}.V; |
---|
| 182 | 0128 <span class="keyword">elseif</span> isfield(SubData,<span class="string">'V'</span>) |
---|
| 183 | 0129 SubData=rmfield(SubData,<span class="string">'V'</span>); |
---|
| 184 | 0130 <span class="keyword">end</span> |
---|
| 185 | 0131 <span class="keyword">if</span> isfield(Field{ivel},<span class="string">'W'</span>) |
---|
| 186 | 0132 SubData.W=Field{ivel}.W; |
---|
| 187 | 0133 <span class="keyword">elseif</span> isfield(SubData,<span class="string">'W'</span>) |
---|
| 188 | 0134 SubData=rmfield(SubData,<span class="string">'W'</span>); |
---|
| 189 | 0135 <span class="keyword">end</span> |
---|
| 190 | 0136 <span class="comment">% else</span> |
---|
| 191 | 0137 <span class="comment">% ivel=1;</span> |
---|
| 192 | 0138 <span class="comment">% end</span> |
---|
| 193 | 0139 <span class="keyword">if</span> nbfield>=2 & isfield(Field{2},<span class="string">'X'</span>) & ivel==1 <span class="comment">%two velocity fields exist</span> |
---|
| 194 | 0140 test_A=0; |
---|
| 195 | 0141 <span class="keyword">if</span> isfield(Field{1},<span class="string">'A'</span>) ||(isfield(Field{1},<span class="string">'AName'</span>) && ~isempty(Field{1}.AName)) <span class="comment">%if the first field is for a scalar</span> |
---|
| 196 | 0142 <span class="keyword">if</span> ~isfield(Field{1},<span class="string">'A'</span>) |
---|
| 197 | 0143 test_A=1; |
---|
| 198 | 0144 SubData.A=<a href="calc_field.html" class="code" title="function [DataOut,errormsg]=calc_field(FieldName,DataIn)">calc_field</a>(Field{1}.AName,Field{1}); |
---|
| 199 | 0145 SubData.AX=Field{1}.X; |
---|
| 200 | 0146 SubData.AY=Field{1}.Y; |
---|
| 201 | 0147 SubData.AName=Field{1}.AName; |
---|
| 202 | 0148 <span class="comment">%remove false vectors</span> |
---|
| 203 | 0149 <span class="keyword">if</span> isfield(Field{1},<span class="string">'FF'</span>) |
---|
| 204 | 0150 ind_sel=find(Field{1}.FF==0);<span class="comment">%good indices</span> |
---|
| 205 | 0151 SubData.A=SubData.A(ind_sel); |
---|
| 206 | 0152 SubData.AX=SubData.AX(ind_sel); |
---|
| 207 | 0153 SubData.AY=SubData.AY(ind_sel); |
---|
| 208 | 0154 <span class="keyword">end</span> |
---|
| 209 | 0155 [SubData.A,SubData.AX,SubData.AY]=<span class="keyword">...</span> |
---|
| 210 | 0156 <a href="proj_grid.html" class="code" title="function [A,rangx,rangy]=proj_grid(vec_X,vec_Y,vec_A,rgx_in,rgy_in,npxy_in)">proj_grid</a>(SubData.AX,SubData.AY,SubData.A,[],[],<span class="string">'np>256'</span>); |
---|
| 211 | 0157 <span class="keyword">end</span> |
---|
| 212 | 0158 <span class="keyword">end</span> |
---|
| 213 | 0159 <span class="keyword">if</span> isfield(Field{2},<span class="string">'A'</span>)||(isfield(Field{2},<span class="string">'AName'</span>) && ~isempty(Field{2}.AName) )<span class="comment">%if the second field is for a scalar</span> |
---|
| 214 | 0160 testA=1; |
---|
| 215 | 0161 <span class="keyword">if</span> ~isfield(Field{2},<span class="string">'A'</span>) |
---|
| 216 | 0162 A=<a href="calc_field.html" class="code" title="function [DataOut,errormsg]=calc_field(FieldName,DataIn)">calc_field</a>(Field{2}.AName,Field{2}); |
---|
| 217 | 0163 AX=Field{2}.X; |
---|
| 218 | 0164 AY=Field{2}.Y; |
---|
| 219 | 0165 AName=Field{2}.AName; |
---|
| 220 | 0166 <span class="comment">%remove false vectors</span> |
---|
| 221 | 0167 <span class="keyword">if</span> isfield(Field{2},<span class="string">'FF'</span>) |
---|
| 222 | 0168 ind_sel=find(Field{2}.FF==0);<span class="comment">%good indices</span> |
---|
| 223 | 0169 A=A(ind_sel); |
---|
| 224 | 0170 AX=AX(ind_sel); |
---|
| 225 | 0171 AY=AY(ind_sel); |
---|
| 226 | 0172 <span class="keyword">end</span> |
---|
| 227 | 0173 <span class="keyword">if</span> test_A==1;<span class="comment">%substract the two scalars</span> |
---|
| 228 | 0174 <span class="keyword">if</span> SubData.NbDim==3 |
---|
| 229 | 0175 SubData.Txt=<span class="string">'ERROR: no substraction of 3D fields'</span>; |
---|
| 230 | 0176 <span class="keyword">elseif</span> isequal(AName,SubData.AName) |
---|
| 231 | 0177 [A,AX,AY]=<a href="proj_grid.html" class="code" title="function [A,rangx,rangy]=proj_grid(vec_X,vec_Y,vec_A,rgx_in,rgy_in,npxy_in)">proj_grid</a>(AX,AY,A,SubData.AX,SubData.AY,size(SubData.A)); |
---|
| 232 | 0178 SubData.A=SubData.A-A; |
---|
| 233 | 0179 <span class="keyword">else</span> |
---|
| 234 | 0180 SubData.Txt=<span class="string">'ERROR: attempt to substract two scalars of different kind'</span>; |
---|
| 235 | 0181 <span class="keyword">end</span> |
---|
| 236 | 0182 <span class="keyword">else</span> |
---|
| 237 | 0183 [SubData.A,SubData.AX,SubData.AY]=<a href="proj_grid.html" class="code" title="function [A,rangx,rangy]=proj_grid(vec_X,vec_Y,vec_A,rgx_in,rgy_in,npxy_in)">proj_grid</a>(AX,AY,A,[],[],<span class="string">'np>256'</span>); |
---|
| 238 | 0184 SubData.AName=AName; |
---|
| 239 | 0185 test_A=1; |
---|
| 240 | 0186 <span class="keyword">end</span> |
---|
| 241 | 0187 <span class="keyword">end</span> |
---|
| 242 | 0188 <span class="keyword">end</span> |
---|
| 243 | 0189 <span class="keyword">if</span> test_A==0<span class="comment">% substract the velocity fields</span> |
---|
| 244 | 0190 <span class="comment">%A REVOIR cas 3 composantes 2D</span> |
---|
| 245 | 0191 <span class="keyword">if</span> isfield(Field{2},<span class="string">'FF'</span>)& ~isempty(Field{2}.FF) |
---|
| 246 | 0192 index2=find(Field{2}.FF==0); |
---|
| 247 | 0193 Field{2}.X=Field{2}.X(index2); |
---|
| 248 | 0194 Field{2}.Y=Field{2}.Y(index2); |
---|
| 249 | 0195 Field{2}.U=Field{2}.U(index2); |
---|
| 250 | 0196 Field{2}.V=Field{2}.V(index2); |
---|
| 251 | 0197 <span class="keyword">end</span> |
---|
| 252 | 0198 <span class="keyword">if</span> ~isequal(Field{1}.X,Field{2}.X) | ~isequal(Field{1}.Y,Field{2}.Y); <span class="comment">% if the vector positions are not the same</span> |
---|
| 253 | 0199 Field{2}.U=<a href="griddata_uvmat.html" class="code" title="function ZI = griddata_uvmat(X,Y,Z,XI,YI)">griddata_uvmat</a>(Field{2}.X,Field{2}.Y,Field{2}.U,Field{1}.X,Field{1}.Y); <span class="comment">%interpolate vectors in the second field</span> |
---|
| 254 | 0200 Field{2}.V=<a href="griddata_uvmat.html" class="code" title="function ZI = griddata_uvmat(X,Y,Z,XI,YI)">griddata_uvmat</a>(Field{2}.X,Field{2}.Y,Field{2}.V,Field{1}.X,Field{1}.Y); <span class="comment">% to the positions of the first field</span> |
---|
| 255 | 0201 <span class="keyword">end</span> |
---|
| 256 | 0202 SubData.U=Field{1}.U-Field{2}.U;<span class="comment">% take the interpolated first field - the second field</span> |
---|
| 257 | 0203 SubData.V=Field{1}.V-Field{2}.V; |
---|
| 258 | 0204 <span class="keyword">end</span> |
---|
| 259 | 0205 <span class="keyword">end</span> |
---|
| 260 | 0206 <span class="comment">%remove scalar data if no AName</span> |
---|
| 261 | 0207 <span class="keyword">if</span> ~testA<span class="comment">%~isfield(SubData,'AName')</span> |
---|
| 262 | 0208 <span class="keyword">if</span> isfield(SubData,<span class="string">'A'</span>) |
---|
| 263 | 0209 SubData=rmfield(SubData,<span class="string">'A'</span>); |
---|
| 264 | 0210 <span class="keyword">end</span> |
---|
| 265 | 0211 <span class="keyword">if</span> isfield(SubData,<span class="string">'AX'</span>) |
---|
| 266 | 0212 SubData=rmfield(SubData,<span class="string">'AX'</span>); |
---|
| 267 | 0213 <span class="keyword">end</span> |
---|
| 268 | 0214 <span class="keyword">if</span> isfield(SubData,<span class="string">'AY'</span>) |
---|
| 269 | 0215 SubData=rmfield(SubData,<span class="string">'AY'</span>); |
---|
| 270 | 0216 <span class="keyword">end</span> |
---|
| 271 | 0217 <span class="keyword">end</span> |
---|
| 272 | 0218 <span class="keyword">if</span> isfield(Field{ivel},<span class="string">'C'</span>) |
---|
| 273 | 0219 SubData.C=Field{ivel}.C; |
---|
| 274 | 0220 <span class="keyword">elseif</span> isfield(SubData,<span class="string">'C'</span>) |
---|
| 275 | 0221 SubData=rmfield(SubData,<span class="string">'C'</span>); |
---|
| 276 | 0222 <span class="keyword">end</span> |
---|
| 277 | 0223 <span class="keyword">if</span> isfield(Field{ivel},<span class="string">'F'</span>) |
---|
| 278 | 0224 SubData.F=Field{ivel}.F; |
---|
| 279 | 0225 <span class="keyword">elseif</span> isfield(SubData,<span class="string">'F'</span>) |
---|
| 280 | 0226 SubData=rmfield(SubData,<span class="string">'F'</span>); |
---|
| 281 | 0227 <span class="keyword">end</span> |
---|
| 282 | 0228 <span class="keyword">if</span> isfield(Field{ivel},<span class="string">'FF'</span>) |
---|
| 283 | 0229 SubData.FF=Field{ivel}.FF; |
---|
| 284 | 0230 <span class="keyword">elseif</span> isfield(SubData,<span class="string">'FF'</span>) |
---|
| 285 | 0231 SubData=rmfield(SubData,<span class="string">'FF'</span>); |
---|
| 286 | 0232 <span class="keyword">end</span> |
---|
| 287 | 0233 <span class="comment">%velocity derivatives</span> |
---|
| 288 | 0234 <span class="keyword">if</span> isfield(Field{ivel},<span class="string">'DjUi'</span>) |
---|
| 289 | 0235 SubData.DjUi=Field{ivel}.DjUi; |
---|
| 290 | 0236 <span class="keyword">elseif</span> isfield(SubData,<span class="string">'DjUi'</span>) |
---|
| 291 | 0237 SubData=rmfield(SubData,<span class="string">'DjUi'</span>); |
---|
| 292 | 0238 <span class="keyword">end</span> |
---|
| 293 | 0239 <span class="keyword">end</span></pre></div> |
---|
| 294 | <hr><address>Generated on Fri 13-Nov-2009 11:17:03 by <strong><a href="http://www.artefact.tk/software/matlab/m2html/">m2html</a></strong> © 2003</address> |
---|
| 295 | </body> |
---|
| 296 | </html> |
---|