Changeset 1098 for trunk/src/proj_field.m
- Timestamp:
- Apr 13, 2021, 7:19:35 PM (3 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/proj_field.m
r1096 r1098 817 817 ObjectData.Coord(1,3)=0; 818 818 end 819 dline=ObjectData.Coord(2,:)-ObjectData.Coord(1,:); 819 dline=ObjectData.Coord(2,:)-ObjectData.Coord(1,:); 820 820 linelength=norm(dline); 821 821 if isfield(FieldData,'RangeX') … … 825 825 end 826 826 ProjData.(AXName)=XMin:ObjectData.DX:XMin+linelength;%abscissa of the projected data along the line 827 827 828 828 XI_proj=ObjectData.Coord(1,1)*ones(size(ProjData.(AXName))); 829 829 YI_proj=ObjectData.Coord(1,2)*ones(size(ProjData.(AXName))); … … 839 839 end 840 840 for ivar=VarIndex 841 841 VarName=FieldData.ListVarName{ivar}; 842 842 % ListVarName=[ListVarName VarName]; 843 843 % VarDimName=[VarDimName {{'coord_y','coord_x'}}]; … … 852 852 ProjData.(VarName)=interp3(Coord{3},Coord{2},Coord{1},double(FieldData.(VarName)),XI_proj,YI_proj,ZI_proj,'*linear'); 853 853 ProjData.(VarName)=squeeze(ProjData.(VarName)); 854 end 855 854 end 855 856 856 else 857 857 AYName=FieldData.ListVarName{CellInfo{icell}.CoordIndex(end-1)}; … … 895 895 dliny=ObjectData.Coord(2,2)-ObjectData.Coord(1,2); 896 896 linelength=sqrt(dlinx*dlinx+dliny*dliny); 897 theta=angle(dlinx+ i*dliny);%angle of the line897 theta=angle(dlinx+1i*dliny);%angle of the line 898 898 if isfield(FieldData,'RangeX') 899 899 XMin=min(FieldData.RangeX);%shift of the origin on the line … … 923 923 else 924 924 errormsg='multicomponent field not projected'; 925 display(errormsg)926 925 return 927 926 end … … 931 930 ProjData.VarAttribute{nbvar}.Role='coord_x'; 932 931 for ivar=VarIndex 933 %VarName{ivar}=FieldData.ListVarName{ivar};934 932 if test_interp2% interpolate on new grid 935 933 FieldData.(FieldData.ListVarName{ivar})=interp2(FieldData.(AXName),FieldData.(AYName),FieldData.(FieldData.ListVarName{ivar}),AXI,AYI'); … … 969 967 ProjData.VarDimName{end}={AXName,'rgb'}; 970 968 end 971 end972 973 end974 % for vector fields, take the components longitudinal and tranverse to the projection line975 if ~isempty(ivar_U) && ~isempty(ivar_V)976 vector_x =ProjData.(ProjData.ListVarName{ivar_U});977 ProjData.(ProjData.ListVarName{ivar_U}) =cos(theta)*vector_x+sin(theta)*ProjData.(ProjData.ListVarName{ivar_V});978 ProjData.(ProjData.ListVarName{ivar_V}) =-sin(theta)*vector_x+cos(theta)*ProjData.(ProjData.ListVarName{ivar_V});979 end969 end 970 971 end 972 % for vector fields, take the components longitudinal and tranverse to the projection line 973 if ~isempty(ivar_U) && ~isempty(ivar_V) 974 vector_x =ProjData.(ProjData.ListVarName{ivar_U}); 975 ProjData.(ProjData.ListVarName{ivar_U}) =cos(theta)*vector_x+sin(theta)*ProjData.(ProjData.ListVarName{ivar_V}); 976 ProjData.(ProjData.ListVarName{ivar_V}) =-sin(theta)*vector_x+cos(theta)*ProjData.(ProjData.ListVarName{ivar_V}); 977 end 980 978 end 981 979
Note: See TracChangeset
for help on using the changeset viewer.