clear all close all clc % function plot_trans(filename, ydataflag, step) % filename = 'blastercard1x1'; % filename = '260GHz_1mmhole'; filename = '260GHz_coppertape_p1mm'; % filename = '260GHz_leaf_8x8mm'; % filename = '260GHz_greenleaf_10x10mm_p1'; % filename = '260GHz_letterC_5x5mm_p1'; % filename = '260GHz_dime_14x14mm_p2'; % filename = '260GHz_dime_18x18mm_p1'; % Define data to extract dataflag=3; % Open data file and get data fid=fopen(filename,'r'); dummy=fgetl(fid); dummy=fgetl(fid); clear dummy data=fscanf(fid,'%f %f %f %f %f %f',[6 inf]); data=data'; fclose(fid); length_data = length(data); % Fill matrices X, Y and Z with desired data x_index = 1; y_index = 1; X(1,1) = data(1,1); Y(1,1) = data(1,2); Z(1,1) = data(1,dataflag); for i = 2:length_data x = round(data(i,1)*100)/100; %mm y = round(data(i,2)*100)/100; %mm x_index = x_index + 1; if round(data(i,1)*10)/10 < round(data(i-1,1)*10)/10 x_index = 1; end if round(data(i,2)*10)/10 > round(data(i-1,2)*10)/10 y_index = y_index + 1; end X(y_index, x_index) = x; Y(y_index, x_index) = y; Z(y_index, x_index) = data(i, dataflag); end xmin = min(min(X)); xmax = max(max(Y)); ymin = min(min(Y)); ymax = max(max(Y)); % Unwrap phase if data is phase if dataflag==5 | dataflag==6 Z = [unwrap(Z*pi/180)]*180/pi; end % Plot data scrsz = get(0, 'ScreenSize'); figure('Position', [0 0 scrsz(3) scrsz(4)]) surf(X,Y,Z) view(0,90); axis equal shading interp colormap default colorbar grid off % Annotate plot xtick_step = 1; if xmax>10 xtick_step == 2; end if xmax>20 xtick_step == 5; end ytick_step = 1; if ymax>10 ytick_step == 2; end if ymax>20 ytick_step == 5; end set(gca, 'Xlim', [xmin xmax]) set(gca, 'Ylim', [ymin ymax]) set(gca, 'XTick', [xmin:xtick_step:xmax]) set(gca, 'YTick', [ymin:ytick_step:ymax]) box on linewidth = 2; markersize = 10; fontname = 'Arial'; fontsize = 20; set(gca, 'FontName', fontname, 'FontSize', fontsize) set(gca, 'LineWidth', 2) % plot outline xlabel('x (mm)', 'FontName', fontname, 'FontSize', fontsize) ylabel('y (mm)', 'FontName', fontname, 'FontSize', fontsize) if dataflag == 3 dataflag_label = 'Transmitted Amplitude (dB)'; elseif dataflag == 4 dataflag_label = 'Transmitted Phase (deg)'; elseif dataflag == 5 dataflag_label = 'Reflected Amplitude (dB)'; elseif dataflag == 6 dataflag_label = 'Reflected Phase (deg)'; end title(dataflag_label, 'FontName', fontname, 'FontSize', fontsize) % Save figure as Matlab .fig file and .jpg if dataflag == 3 dataflag_label = 'TdB'; elseif dataflag == 4 dataflag_label = 'Tdeg'; elseif dataflag == 5 dataflag_label = 'RdB'; elseif dataflag == 6 dataflag_label = 'Rdeg'; end h = gcf; saveas(h,[filename '_' dataflag_label '.fig']) saveas(h,[filename '_' dataflag_label '.jpg'])