Ignore:
Timestamp:
Apr 13, 2021, 7:19:35 PM (3 years ago)
Author:
sommeria
Message:

various bugs repaired

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/proj_field.m

    r1096 r1098  
    817817                    ObjectData.Coord(1,3)=0;
    818818                end
    819                 dline=ObjectData.Coord(2,:)-ObjectData.Coord(1,:); 
     819                dline=ObjectData.Coord(2,:)-ObjectData.Coord(1,:);
    820820                linelength=norm(dline);
    821821                if isfield(FieldData,'RangeX')
     
    825825                end
    826826                ProjData.(AXName)=XMin:ObjectData.DX:XMin+linelength;%abscissa of the projected data along the line
    827                
     827                
    828828                XI_proj=ObjectData.Coord(1,1)*ones(size(ProjData.(AXName)));
    829829                YI_proj=ObjectData.Coord(1,2)*ones(size(ProjData.(AXName)));
     
    839839                end
    840840                for ivar=VarIndex
    841                                       VarName=FieldData.ListVarName{ivar};
     841                    VarName=FieldData.ListVarName{ivar};
    842842                    %                         ListVarName=[ListVarName VarName];
    843843                    %                         VarDimName=[VarDimName {{'coord_y','coord_x'}}];
     
    852852                    ProjData.(VarName)=interp3(Coord{3},Coord{2},Coord{1},double(FieldData.(VarName)),XI_proj,YI_proj,ZI_proj,'*linear');
    853853                    ProjData.(VarName)=squeeze(ProjData.(VarName));
    854                 end           
    855            
     854                end
     855               
    856856            else
    857857                AYName=FieldData.ListVarName{CellInfo{icell}.CoordIndex(end-1)};
     
    895895                dliny=ObjectData.Coord(2,2)-ObjectData.Coord(1,2);
    896896                linelength=sqrt(dlinx*dlinx+dliny*dliny);
    897                 theta=angle(dlinx+i*dliny);%angle of the line
     897                theta=angle(dlinx+1i*dliny);%angle of the line
    898898                if isfield(FieldData,'RangeX')
    899899                    XMin=min(FieldData.RangeX);%shift of the origin on the line
     
    923923                else
    924924                    errormsg='multicomponent field not projected';
    925                     display(errormsg)
    926925                    return
    927926                end
     
    931930                ProjData.VarAttribute{nbvar}.Role='coord_x';
    932931                for ivar=VarIndex
    933                     %VarName{ivar}=FieldData.ListVarName{ivar};
    934932                    if test_interp2% interpolate on new grid
    935933                        FieldData.(FieldData.ListVarName{ivar})=interp2(FieldData.(AXName),FieldData.(AYName),FieldData.(FieldData.ListVarName{ivar}),AXI,AYI');
     
    969967                    ProjData.VarDimName{end}={AXName,'rgb'};
    970968                end
    971     end
    972    
    973 end
    974 % for vector fields, take the components longitudinal and tranverse to the projection line
    975 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 end
     969            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
    980978end
    981979
Note: See TracChangeset for help on using the changeset viewer.