I would like to modify the code to create some gif video images from png images.

2 次查看(过去 30 天)
In the code below, all generated png files were successfully saved in the intended folder (except for the part that creates the gif video). Now I'm trying to create gif video files using commands such as 'getframe' and 'imwrite', but: [ An error occurred while using: getframe / Must specify a valid figure or axes handle / An error occurred using: Test (line 731) / frame = getframe(hFig); ] → an error message is occurring. How can I modify the code to create two gif video images and save them in the '02__Figure' folder? Please understand that the code is quite long.
clear all; clc; close all;
basic_path = pwd;
addpath('./01__Data')
addpath('./02__Figure')
addpath('./MATLAB_CODE')
addpath(genpath('./fvcom-toolbox-master'));
% inp.dir_0 = fullfile(pwd, '01__Data');
% inp.dir = fullfile(inp.dir_0, 'homework');
fig.dir = fullfile(pwd, '02__Figure');
tp = dir('*.nc');
file_names = {'homework_0001.nc', 'homework_0002.nc', 'homework_0003.nc'};
filename = fullfile(fig.dir,'HW_09_Along velocity.gif');
filename2 = fullfile(fig.dir,'HW_09_Salinity.gif');
delaytime = 0.02;
% filn = fullfile(inp.dir, file_names);
%% Input Control 1 %%
Case_type = '01__Data';
Case_name = 'homework';
Selected_nc = [1 2];
Model_sigma = 5;
Dx_number_1 = 91;
Interpolation_radius_1 = 10;
Test_figure = 1;
value(1) = 1;
value(2) = 2;
value(3) = 3;
%%==== value list ====%%
% 1 : U
% 2 : V
% 3 : Salinity
% 4 : SSC
% 5 : Temperature
%%====================%%
%% Input Control 2 %%
Line_name{1} = 'Line1';
Line_Start{1} = [ 2300; 0];
Line_End{1} = [ 2300 ; 400 ];
%% Value list
Target_value{1} = 'u';
Target_value{2} = 'v';
Target_value{3} = 'salinity';
%%% Special case for Sand Idealized case %%%
% Target_value{4} = 'todal_ssc';
Target_value{4} = 'SAND_1';
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
Target_value{5} = 'temp';
Target_value_name{1} = 'U_comp';
Target_value_name{2} = 'V_comp';
Target_value_name{3} = 'Salinity';
%%% Special case for Sand Idealized case %%%
Target_value_name{4} = 'SAND_1';
% Target_value_name{4} = 'SSC';
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
Target_value_name{5} = 'Temperature';
Target_value_line_name{1} = 'Line_U_comp';
Target_value_line_name{2} = 'Line_V_comp';
Target_value_line_name{3} = 'Line_Salinity';
%%% Special case for Sand Idealized case %%%
Target_value_line_name{4} = 'Line_SAND_1';
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% Target_value_line_name{4} = 'Line_SSC';
Target_value_line_name{5} = 'Line_Temperature';
%% Reference line make
for i = 1:length(Line_name)
if i == 1
Reference_line_X{i} = linspace(Line_Start{i}(1),Line_End{i}(1),Dx_number_1);
Reference_line_Y{i} = linspace(Line_Start{i}(2),Line_End{i}(2),Dx_number_1);
Reference_line_XC{i} = linspace(Line_Start{i}(1)+(Reference_line_X{i}(2)-Reference_line_X{i}(1))/2,Line_End{i}(1)-(Reference_line_X{i}(2)-Reference_line_X{i}(1))/2,Dx_number_1-1);
Reference_line_YC{i} = linspace(Line_Start{i}(2)+(Reference_line_Y{i}(2)-Reference_line_Y{i}(1))/2,Line_End{i}(2)-(Reference_line_Y{i}(2)-Reference_line_Y{i}(1))/2,Dx_number_1-1);
elseif i == 2
Reference_line_X{i} = linspace(Line_Start{i}(1),Line_End{i}(1),Dx_number_2);
Reference_line_Y{i} = linspace(Line_Start{i}(2),Line_End{i}(2),Dx_number_2);
Reference_line_XC{i} = linspace(Line_Start{i}(1)+(Reference_line_X{i}(2)-Reference_line_X{i}(1))/2,Line_End{i}(1)-(Reference_line_X{i}(2)-Reference_line_X{i}(1))/2,Dx_number_2-1);
Reference_line_YC{i} = linspace(Line_Start{i}(2)+(Reference_line_Y{i}(2)-Reference_line_Y{i}(1))/2,Line_End{i}(2)-(Reference_line_Y{i}(2)-Reference_line_Y{i}(1))/2,Dx_number_2-1);
elseif i == 3
Reference_line_X{i} = linspace(Line_Start{i}(1),Line_End{i}(1),Dx_number_3);
Reference_line_Y{i} = linspace(Line_Start{i}(2),Line_End{i}(2),Dx_number_3);
Reference_line_XC{i} = linspace(Line_Start{i}(1)+(Reference_line_X{i}(2)-Reference_line_X{i}(1))/2,Line_End{i}(1)-(Reference_line_X{i}(2)-Reference_line_X{i}(1))/2,Dx_number_3-1);
Reference_line_YC{i} = linspace(Line_Start{i}(2)+(Reference_line_Y{i}(2)-Reference_line_Y{i}(1))/2,Line_End{i}(2)-(Reference_line_Y{i}(2)-Reference_line_Y{i}(1))/2,Dx_number_3-1);
end
end
%% Directory make
Top_directory = '2D__01_Interpolation_to_line';
mkdir(Top_directory)
for i = 1:length(Line_name)
mkdir([Top_directory,'/',Line_name{i}])
end
%% Scatter Interpolation %%
for NC = 1:length(Selected_nc)
for A = 1:3
disp(['Processing... : ',Case_name,'_',num2str(Selected_nc(NC),'%04d'),'.nc'])
filn = ['./',Case_type,'/',Case_name,'/',Case_name,'_',num2str(Selected_nc(NC),'%04d'),'.nc'];
Node_X = ncread(filn,'x');
Node_Y = ncread(filn,'y');
Cell_X = double(ncread(filn,'xc'));
Cell_Y = double(ncread(filn,'yc'));
nv = ncread(filn,'nv');
h = ncread(filn,'h');
zeta = ncread(filn,'zeta');
Time = double(ncread(filn,'time'))';
% Time = datenum(str2num(time(:,1:4)),str2num(time(:,6:7)),str2num(time(:,9:10)),str2num(time(:,12:13)),str2num(time(:,15:16)),str2num(time(:,18:19)));
for i = 1:length(zeta(1,:))
depth(:,i) = zeta(:,i) + h;
end
for j = value(A)
Value0{j} = ncread(filn,Target_value{j});
end
% U_comp = ncread(filn,'u');
% V_comp = ncread(filn,'v');
% Salinity = ncread(filn,'salinity');
% SSC = ncread(filn,'todal_ssc');
for j = 1:length(Line_name)
Selected_node = NaN(length(Node_X),1);
Selected_cell = NaN(length(Cell_X),1);
if j == 1
for i = 1:Dx_number_1
Node_ind = find((((Node_X-Reference_line_X{j}(i)).^2)+((Node_Y-Reference_line_Y{j}(i)).^2)) < Interpolation_radius_1^2);
Cell_ind = find((((Cell_X-Reference_line_X{j}(i)).^2)+((Cell_Y-Reference_line_Y{j}(i)).^2)) < Interpolation_radius_1^2);
Selected_node(Node_ind) = Node_ind;
Selected_cell(Cell_ind) = Cell_ind;
end
elseif j == 2
for i = 1:Dx_number_2
Node_ind = find((((Node_X-Reference_line_X{j}(i)).^2)+((Node_Y-Reference_line_Y{j}(i)).^2)) < Interpolation_radius_2^2);
Cell_ind = find((((Cell_X-Reference_line_X{j}(i)).^2)+((Cell_Y-Reference_line_Y{j}(i)).^2)) < Interpolation_radius_2^2);
Selected_node(Node_ind) = Node_ind;
Selected_cell(Cell_ind) = Cell_ind;
end
elseif j == 3
for i = 1:Dx_number_3
Node_ind = find((((Node_X-Reference_line_X{j}(i)).^2)+((Node_Y-Reference_line_Y{j}(i)).^2)) < Interpolation_radius_3^2);
Cell_ind = find((((Cell_X-Reference_line_X{j}(i)).^2)+((Cell_Y-Reference_line_Y{j}(i)).^2)) < Interpolation_radius_3^2);
Selected_node(Node_ind) = Node_ind;
Selected_cell(Cell_ind) = Cell_ind;
end
end
Selected_Node{j} = find(isnan(Selected_node)==0);
Selected_Cell{j} = find(isnan(Selected_cell)==0);
end
if Test_figure == 1
figure(NC)
set(gcf,'color','w','Units','Normalized','OuterPosition',[0.1 0.1 0.6 0.7]);
patch('Faces',nv,'Vertices',[Node_X,Node_Y],'EdgeColor',[0.7 0.7 0.7],'FaceVertexCData',1,'FaceColor','none');
set(gca,'fontname','Calibri','fontweight','bold','fontsize',22,'Box','on','linewidth',1,'xticklabel',[],'yticklabel',[],'DataAspectRatio',[1 1 1]); hold on;
for i = 1:length(Line_name)
patch('Faces',nv(Selected_Cell{i},:),'Vertices',[Node_X,Node_Y],'EdgeColor','k','FaceVertexCData',1,'FaceColor',[255 187 0]/255);
plot(Node_X(Selected_Node{i}),Node_Y(Selected_Node{i}),'ko','linewidth',1,'markerfacecolor','k','markersize',3);
plot([Reference_line_X{i}(1) Reference_line_X{i}(end)],[Reference_line_Y{i}(1) Reference_line_Y{i}(end)],'b','linewidth',3)
text(Reference_line_X{i}(end),Reference_line_Y{i}(end),[' Line ',num2str(i)],'fontsize',15,'fontweight','bold')
title(['NC-file number = ',num2str(Selected_nc(NC))],'fontweight','bold','fontsize',24)
end
print([Top_directory,'/Interpolation_to_line_NC_',num2str(Selected_nc(NC),'%02d')],'-dpng')
end
for i = 1:length(Line_name)
Selected_Zeta = zeta(Selected_Node{i},:);
Selected_Depth = depth(Selected_Node{i},:);
for j = value(A)
if j == 1 || j == 2
eval(['Selected_',Target_value_name{j},' = Value0{j}(Selected_Cell{i},:,:);'])
elseif j == 3 || j == 4 || j == 5
eval(['Selected_',Target_value_name{j},' = Value0{j}(Selected_Node{i},:,:);'])
end
end
% Selected_U_comp = U_comp(Selected_Cell{i},:,:);
% Selected_V_comp = V_comp(Selected_Cell{i},:,:);
% Selected_Salinity = Salinity(Selected_Node{i},:,:);
% Selected_SSC = SSC(Selected_Node{i},:,:);
for j = 1:length(Selected_Depth(1,:))
F = scatteredInterpolant(double(Node_X(Selected_Node{i})),double(Node_Y(Selected_Node{i})),double(Selected_Depth(:,j)));
Interp_Depth{i,j} = F(Reference_line_X{i},Reference_line_Y{i});
F = scatteredInterpolant(double(Node_X(Selected_Node{i})),double(Node_Y(Selected_Node{i})),double(Selected_Zeta(:,j)));
Interp_Zeta{i,j} = F(Reference_line_X{i},Reference_line_Y{i});
for k = 1:Model_sigma
for kk = value(A)
if kk == 1 || kk == 2
eval(['F = scatteredInterpolant(double(Cell_X(Selected_Cell{i})),double(Cell_Y(Selected_Cell{i})),double(Selected_',Target_value_name{kk},'(:,k,j)));']);
eval(['Interp_',Target_value_name{kk},'{i,j}(k,:) = F(Reference_line_X{i},Reference_line_Y{i});']);
elseif kk == 3 || kk == 4 || kk == 5
eval(['F = scatteredInterpolant(double(Node_X(Selected_Node{i})),double(Node_Y(Selected_Node{i})),double(Selected_',Target_value_name{kk},'(:,k,j)));']);
eval(['Interp_',Target_value_name{kk},'{i,j}(k,:) = F(Reference_line_X{i},Reference_line_Y{i});']);
end
end
% F = scatteredInterpolant(double(Cell_X(Selected_Cell{i})),double(Cell_Y(Selected_Cell{i})),double(Selected_U_comp(:,k,j)));
% Interp_U_comp{i,j}(k,:) = F(Reference_line_X{i},Reference_line_Y{i});
% F = scatteredInterpolant(double(Cell_X(Selected_Cell{i})),double(Cell_Y(Selected_Cell{i})),double(Selected_V_comp(:,k,j)));
% Interp_V_comp{i,j}(k,:) = F(Reference_line_X{i},Reference_line_Y{i});
% F = scatteredInterpolant(double(Node_X(Selected_Node{i})),double(Node_Y(Selected_Node{i})),double(Selected_Salinity(:,k,j)));
% Interp_Salinity{i,j}(k,:) = F(Reference_line_X{i},Reference_line_Y{i});
% F = scatteredInterpolant(double(Node_X(Selected_Node{i})),double(Node_Y(Selected_Node{i})),double(Selected_SSC(:,k,j)));
% Interp_SSC{i,j}(k,:) = F(Reference_line_X{i},Reference_line_Y{i});
end
end
end
date_ind = Time(1);
for i = 1:length(Line_name)
Line_X = Reference_line_X{i};
Line_Y = Reference_line_Y{i};
Line_Depth = {Interp_Depth{i,:}};
Line_Zeta = {Interp_Zeta{i,:}};
for kk = value(A)
eval(['Line_',Target_value_name{kk},' = {Interp_',Target_value_name{kk},'{i,:}};']);
% Line_U_comp = {Interp_U_comp{i,:}};
% Line_V_comp = {Interp_V_comp{i,:}};
% Line_Salinity = {Interp_Salinity{i,:}};
% Line_SSC = {Interp_SSC{i,:}};
end
% save([Top_directory,'/',Line_name{i},'/Interp_data_',num2str(date_ind(1)-2000),num2str(date_ind(2),'%02d'),num2str(date_ind(3),'%02d'),'.mat'],'Time','Line_X','Line_Y','Line_Depth','Line_Zeta','Line_U_comp','Line_V_comp','Line_Salinity','Line_SSC')
save([Top_directory,'/',Line_name{i},'/Interp_data_',num2str(date_ind),'.mat'],'Time','Line_X','Line_Y','Line_Depth','Line_Zeta',Target_value_line_name{value(A)})
File_date{NC} = [Time(1)];
end
end
end
save([Top_directory,'/Line_info.mat'],'Line_name','File_date');
close all
%% No. 1
%% Input Control 1 %%
Out_put_interval = 1; % 1 = 10min 2 = 1hour
Select_line = [ 1 ];
Select_file_number = [ 1 ];
Tide_plot = 1; % If you want to put Tide-level to figure, 1 not 0
sigma_lay = 5;
PCA_reverse = 0 ; % PCA control ( If Value is 1, control )
Only_along_velocity_data_export = 0; % If Value is 1, control
Value1 = 1 ;
Along_Across_change = 1 ;
%%==== Value list ====%%
% 1 : Along velocity
% 2 : Salinity
% 3 : SSC
% 4 : Temperature
%%====================%%
%% Input Control 2 %%
Depth_limit = [ -25 : 5 : 0 ];
Dep_label = [ 25 : -5 : 0 ];
Tide_limit = [ -3.5 : 1 : 3.5 ];
Caxis_limit = [ -0.1 :0.05: 0.1 ];
Contour_line_number{1} = [ -3 : 1 : 3 ];
Contour_line_color{1} = 'k';
Contour_label_interval = 1000;
%% Directory make
Top_directory = '2D__Figure';
load([basic_path,'/2D__01_Interpolation_to_line/Line_info.mat']);
mkdir([basic_path,'/',Top_directory])
if Only_along_velocity_data_export == 0
for i = Select_line
mkdir([basic_path,'/',Top_directory,'/',Line_name{i},'/',num2str(File_date{Select_file_number(i)})])
for j = 1:length(Select_file_number)
mkdir([basic_path,'/',Top_directory,'/',Line_name{i},'/',num2str(File_date{Select_file_number(j)})])
end
end
elseif Only_along_velocity_data_export == 1
for i = Select_line
mkdir([Top_directory,'/',Line_name{i}])
end
end
%% Time scale
if Out_put_interval ==1 % 시간 간격 (1==10min, 6==1hour)
Delta_t = 1;
else
Delta_t = 6;
end
Time_list = datenum(0,0,0,0,0,0):datenum(0,0,0,1,0,0):datenum(0,0,0,2,0,0);
%% for value
Target_file_name{1} = 'Along velocity';
Target_file_name{2} = 'Salinity';
Target_file_name{3} = 'SSC';
Target_file_name{4} = 'Temperature';
Target_label_name{1} = 'Along veolocity (m/s)';
Target_label_name{2} = 'Salinity (psu)';
Target_label_name{3} = 'SSC (mg/L)';
Target_label_name{4} = 'Temperature (^oC)';
Target_colormap{1} = 'RedBlue';
Target_colormap{2} = 'Salinity';
Target_colormap{3} = 'Sediment_v2';
Target_colormap{4} = 'Intensity';
%% Directory 2
if Only_along_velocity_data_export == 0
for i = Select_line
for j = 1:length(Select_file_number)
mkdir([basic_path,'/',Top_directory,'/',Line_name{i},'/',num2str(File_date{Select_file_number(j)}),'/',Target_file_name{Value1}])
end
end
end
%%
for i = Select_line
for ia = 1:length(filn)
for ib = 1:length(Time)
for j = 1:length(Select_file_number)
load([basic_path,'/2D__01_Interpolation_to_line/',Line_name{i},'/Interp_data_',num2str(File_date{Select_file_number(j)}),'.mat']);
lichwo_Y = Line_Y;
Line_X = abs(Line_X - Line_X(1));
Line_Y = abs(Line_Y - Line_Y(1));
Dist = sqrt((Line_X.^2) + (Line_Y.^2));
Date = File_date{Select_file_number(j)};
Time_list = Time;
for k = 1:5
Distance(k,:) = lichwo_Y;
end
for T = 1:length(Line_Zeta)
Tide_level(T) = mean(Line_Zeta{T});
end
%% Value distribution
if Value1 == 1 % Along velocity
for ii = 1:length(Line_X)
[Lat(ii),Lon(ii)] = utm2deg(Line_X(ii),Line_Y(ii),'52 S');
end
%% PCA
theta = atand(abs((Line_Y(end)-Line_Y(1))/(Line_X(end)-Line_X(1))));
if (Line_Y(end)-Line_Y(1))/(Line_X(end)-Line_X(1)) > 0
theta = -theta;
end
for k = 1:length(Line_Depth)
across_velocity{k} = Line_U_comp{k}.*cosd(theta)-Line_V_comp{k}.*sind(theta);
along_velocity{k} = Line_U_comp{k}.*sind(theta)+Line_V_comp{k}.*cosd(theta);
if PCA_reverse == 1
Across_velocity{k} = - (Line_U_comp{k}.*cosd(theta)-Line_V_comp{k}.*sind(theta));
Along_velocity{k} = - (Line_U_comp{k}.*sind(theta)+Line_V_comp{k}.*cosd(theta));
else
Across_velocity{k} = Line_U_comp{k}.*cosd(theta)-Line_V_comp{k}.*sind(theta);
Along_velocity{k} = Line_U_comp{k}.*sind(theta)+Line_V_comp{k}.*cosd(theta);
end
end
if Along_Across_change == 1
Along_velocity = Across_velocity ;
end
save([Top_directory,'/',Line_name{i},'/Along_velocity_',num2str(File_date{Select_file_number(j)}),'.mat'],'Along_velocity');
Contour_value = Along_velocity;
elseif Value1 == 2 % Salinity
Contour_value = Line_Salinity;
elseif Value1 == 3 % SSC
for k = 1:length(Line_Depth)
Contour_value{k} = Line_SSC{k}*1000;
end
elseif Value1 == 4 % Salinity
Contour_value = Line_Temperature;
end
%% Roof start
if Only_along_velocity_data_export == 0
for t = 1:Delta_t:length(Line_Depth)
disp(['Processing... ',Line_name{i},' : ',File_date{Select_file_number(j)},'... ',num2str(t*100/length(Line_Depth),'%.2f'),'%']);
for k = 1:length(Dist)
Line_H(k) = - (Line_Depth{t}(k)-Line_Zeta{t}(k));
Real_Depth(:,k) = fliplr(linspace(Line_H(k),Line_Zeta{t}(k),5));
end
if Tide_plot == 0
%% figure setting 1
fig_width = 13.27; % inch
fig_height = 4.27; % inch
margin_vert_u = 0.6; % inch
margin_vert_d = 0.8; % inch
margin_horz_l = 0.95; % inch
margin_horz_r = 0.65; % inch
fontname = 'calibri';
set(0,'defaultaxesfontname',fontname);
set(0,'defaulttextfontname',fontname);
fontsize = 10; % pt
set(0,'defaultaxesfontsize',fontsize);
set(0,'defaulttextfontsize',fontsize);
set(0,'fixedwidthfontname','times');
hFig = figure('Visible','on');
set(hFig,'renderer','painters');
set(hFig,'units','inches');
set(hFig,'position',[0 0 fig_width fig_height]);
set(hFig,'PaperUnits','inches');
set(hFig,'PaperSize', [fig_width fig_height]);
set(hFig,'PaperPositionMode', 'manual');
set(hFig,'PaperPosition',[1 1 fig_width fig_height]);
set(hFig,'Color','w');
hAxe = axes;
set(hAxe,'activepositionproperty','outerposition');
set(hAxe,'units','inches');
ax_pos = get(hAxe,'position');
ax_pos(4) = fig_height-margin_vert_u-margin_vert_d;
ax_pos(2) = fig_height-(margin_vert_u+ax_pos(4));
ax_pos(3) = fig_width-margin_horz_l-margin_horz_r;
ax_pos(1) = margin_horz_l;
set(hAxe,'position',ax_pos);
%% Figure (Tide X)
set(gca,'fontname','Calibri','fontweight','bold','fontsize',15,'Box','on','linewidth',1); hold on; grid on;
[c,h] = contourf(Distance,Real_Depth,Contour_value{t},50,'linestyle','none'); hold on;
for cl = 1:length(Contour_line_number)
[c,h] = contourf(Distance,Real_Depth,Contour_value{t},50,'linestyle','none');
set(h,'LevelList',Contour_line_number{cl},'color',Contour_line_color{cl},'LineStyle',':','LineWidth',2,'Fill','off'); hold on
clabel(c,h,'LabelSpacing',Contour_label_interval,'color',Contour_line_color{cl})
end
plot(Distance(1,:),Real_Depth(1,:),'k','linewidth',0.5);
Area = area(Distance(1,:),Real_Depth(end,:),Depth_limit(1),'linewidth',1);
Area.FaceColor = [.8 .8 .8];
colormap(jet); cb = colorbar;
caxis([Caxis_limit(1) Caxis_limit(end)])
cb.Label.String = Target_label_name{Value1};
cb.Label.FontSize = 21;
cb.Ticks = Caxis_limit;
ylim([Depth_limit(1) Depth_limit(end)])
yticks(Depth_limit)
yticklabels(Dep_label)
xlim([Distance(1,1) Distance(1,end)])
xlabel('Distance (m)','fontsize',21)
ylabel('Depth (m)','fontsize',21)
set(gca,'XDir','reverse');
title(datestr(Time(t),'dd HH:MM:SS'),'fontsize',20,'fontweight','bold')
% Time_name = datevec(Time_list(t));
print([basic_path,'/',Top_directory,'/',Line_name{i},'/',num2str(File_date{Select_file_number(j)}),'/',Target_file_name{Value1},'/',num2str(t)],'-dpng'); close;
AA(:,:,t) = Contour_value{t};
if t==144;
fig_width = 13.27; % inch
fig_height = 4.27; % inch
margin_vert_u = 0.6; % inch
margin_vert_d = 0.8; % inch
margin_horz_l = 0.95; % inch
margin_horz_r = 0.65; % inch
fontname = 'calibri';
set(0,'defaultaxesfontname',fontname);
set(0,'defaulttextfontname',fontname);
fontsize = 10; % pt
set(0,'defaultaxesfontsize',fontsize);
set(0,'defaulttextfontsize',fontsize);
set(0,'fixedwidthfontname','times');
hFig = figure('Visible','off');
set(hFig,'renderer','painters');
set(hFig,'units','inches');
set(hFig,'position',[0 0 fig_width fig_height]);
set(hFig,'PaperUnits','inches');
set(hFig,'PaperSize', [fig_width fig_height]);
set(hFig,'PaperPositionMode', 'manual');
set(hFig,'PaperPosition',[1 1 fig_width fig_height]);
set(hFig,'Color','w');
hAxe = axes;
set(hAxe,'activepositionproperty','outerposition');
set(hAxe,'units','inches');
ax_pos = get(hAxe,'position');
ax_pos(4) = fig_height-margin_vert_u-margin_vert_d;
ax_pos(2) = fig_height-(margin_vert_u+ax_pos(4));
ax_pos(3) = fig_width-margin_horz_l-margin_horz_r;
ax_pos(1) = margin_horz_l;
set(hAxe,'position',ax_pos);
set(gca,'fontname','Calibri','fontweight','bold','fontsize',15,'Box','on','linewidth',1); hold on; grid on;
[c,h] = contourf(Distance,Real_Depth,mean(AA,3),50,'linestyle','none'); hold on;
for cl = 1:length(Contour_line_number)
[c,h] = contourf(Distance,Real_Depth,mean(AA,3),50,'linestyle','none');
set(h,'LevelList',Contour_line_number{cl},'color',Contour_line_color{cl},'LineStyle',':','LineWidth',2,'Fill','off'); hold on
clabel(c,h,'LabelSpacing',Contour_label_interval,'color',Contour_line_color{cl})
end
plot(Distance(1,:),Real_Depth(1,:),'k','linewidth',0.5);
Area = area(Distance(1,:),Real_Depth(end,:),Depth_limit(1),'linewidth',1);
Area.FaceColor = [.8 .8 .8];
colormap(jet); cb = colorbar;
%colormap(eval(Target_colormap{Value})); cb = colorbar;
caxis([Caxis_limit(1) Caxis_limit(end)])
cb.Label.String = Target_label_name{Value1};
cb.Label.FontSize = 21;
cb.Ticks = Caxis_limit;
ylim([Depth_limit(1) Depth_limit(end)])
yticks(Depth_limit)
yticklabels(Dep_label)
xlim([Distance(1,1) Distance(1,end)])
%lichwo_Y2 = [34.1 : -0.1 :33.5]
%xticklabels(Dist(1:10:end));
xlabel('Latitude','fontsize',21)
ylabel('Depth (m)','fontsize',21)
set(gca,'XDir','reverse');
%title([File_date{Select_file_number(j)},' Mean'])
print([basic_path,'\',Top_directory,'\',Line_name{i},'\',num2str(File_date{Select_file_number(j)}),'\',Target_file_name{Value1},'\',num2str(File_date{Select_file_number(j)}),'_Mean'],'-dpng'); close;
end
elseif Tide_plot == 1
%% figure setting 2
fig_width = 13.27; % inch
fig_height = 7.77; % inch
margin_vert_u = 0.6; % inch
margin_vert_d = 0.8; % inch
margin_horz_l = 0.95; % inch
margin_horz_r = 0.65; % inch
fontname = 'calibri';
set(0,'defaultaxesfontname',fontname);
set(0,'defaulttextfontname',fontname);
fontsize = 10; % pt
set(0,'defaultaxesfontsize',fontsize);
set(0,'defaulttextfontsize',fontsize);
set(0,'fixedwidthfontname','times');
hFig = figure('Visible','off');
set(hFig,'renderer','painters');
set(hFig,'units','inches');
set(hFig,'position',[0 0 fig_width fig_height]);
set(hFig,'PaperUnits','inches');
set(hFig,'PaperSize', [fig_width fig_height]);
set(hFig,'PaperPositionMode', 'manual');
set(hFig,'PaperPosition',[1 1 fig_width fig_height]);
set(hFig,'Color','w');
hAxe = axes;
set(hAxe,'activepositionproperty','outerposition');
set(hAxe,'units','inches');
ax_pos = get(hAxe,'position');
ax_pos(4) = fig_height-margin_vert_u-margin_vert_d;
ax_pos(2) = fig_height-(margin_vert_u+ax_pos(4));
ax_pos(3) = fig_width-margin_horz_l-margin_horz_r;
ax_pos(1) = margin_horz_l;
set(hAxe,'position',ax_pos);
%% Figure (Tide O)
ax1 = subplot(8,1,[1 2 3]);
set(gca,'fontname','Calibri','fontweight','bold','fontsize',15,'Box','on','linewidth',1); hold on; grid on;
plot(Time_list,Tide_level,'k','linewidth',1.2);
plot([Time_list(1) Time_list(end)],[0 0],'color',[.4 .4 .4]);
plot([Time_list(t) Time_list(t)],[-10 10],'k:','linewidth',2)
plot(Time_list(t),Tide_level(t),'ok','linewidth',1.2,'markersize',12,'markerfacecolor','r')
%colormap(White_color); wc = colorbar;
wc.Color = 'w';
wc.LineWidth = 0.1;
xticks([Time_list(1):datenum(0,0,0,2,0,0):Time_list(end)+datenum(0,0,0,2,0,0)]);
% xticks([Time_list(1):datenum(0,0,0,2,0,0):Time_list(end)]);
datetick('x','HH:MM','keepticks');
xlim([Time_list(1) Time_list(end)]);
yticks(Tide_limit)
ylim([Tide_limit(1) Tide_limit(end)])
% xlabel(['Time in ',datestr(Date_num,'mmmm dd, yyyy'),' (HH:MM)'],'fontsize',21)
ylabel('Tide level (m, MSL)','fontsize',21)
ax2 = subplot(8,1,[5 6 7 8]);
set(gca,'fontname','Calibri','fontweight','bold','fontsize',17,'Box','on','linewidth',1); hold on; grid on;
[c,h] = contourf(Distance,Real_Depth,Contour_value{t},50,'linestyle','none'); hold on;
for cl = 1:length(Contour_line_number)
[c,h] = contourf(Distance,Real_Depth,Contour_value{t},50,'linestyle','none');
set(h,'LevelList',Contour_line_number{cl},'color',Contour_line_color{cl},'LineStyle',':','LineWidth',2,'Fill','off'); hold on
clabel(c,h,'LabelSpacing',Contour_label_interval,'color',Contour_line_color{cl})
end
plot(Distance(1,:),Real_Depth(1,:),'k','linewidth',0.5);
Area = area(Distance(1,:),Real_Depth(end,:),Depth_limit(1),'linewidth',1);
Area.FaceColor = [.8 .8 .8];
colormap(jet); cb = colorbar;
caxis([Caxis_limit(1) Caxis_limit(end)])
cb.Ticks = Caxis_limit;
cb.Label.String = Target_label_name{Value1};
cb.Label.FontSize = 21;
ylim([Depth_limit(1) 10])
yticks(Depth_limit)
xlim([Distance(1,1) Distance(1,end)])
xlabel('Distance (degree)','fontsize',21)
ylabel('Depth (m)','fontsize',21)
Time_name = datevec(Time_list(t));
print([Top_directory,'/',Line_name{i},'/',num2str(File_date{Select_file_number(j)}),'/',Target_file_name{Value1},'/',num2str(File_date{Select_file_number(j)}),'_',num2str(Time_name(4),'%02d'),'h',num2str(Time_name(5),'%02d'),'m'],'-dpng');
close;
end
end
end
%% Roof end
disp(['Processing... ',Line_name{i},' : ',File_date{Select_file_number(j)},' ... Complete!!']);
end
frame = getframe(hFig);
img = frame2im(frame);
[imind cm] = rgb2ind(img,144);
if ib == 1 & ia == 1
imwrite(imind,cm,filename,'gif','Loopcount',inf,'DelayTime',delaytime);
else
imwrite(imind,cm,filename,'gif','WriteMode','append','DelayTime',delaytime);
end
end
end
end
%% N0. 2
%% Input Control 1 %%
Out_put_interval2 = 1; % 1 = 10min 2 = 1hour
Select_line2 = [ 1 ];
Select_file_number2 = [ 1 ];
Tide_plot2 = 1; % If you want to put Tide-level to figure, 1 not 0
sigma_lay2 = 5;
PCA_reverse2 = 0 ; % PCA control ( If Value is 1, control )
Only_along_velocity_data_export_2 = 0; % If Value is 1, control
Value2 = 2 ;
Along_Across_change2 = 1 ;
%% Input Control 2 %%
Depth_limit2 = [ -25 : 5 : 0 ];
Dep_label2 = [ 25 : -5 : 0 ];
Tide_limit2 = [ -3.5 : 1 : 3.5 ];
Caxis_limit2 = [ 30 : 0.2 : 32.8 ];
Contour_line_number2{1} = [ 30:0.5:33 ];
Contour_line_color2{1} = 'k';
Contour_label_interval2 = 1000;
%% Directory make
Top_directory = '2D__Figure';
load([basic_path,'/2D__01_Interpolation_to_line/Line_info.mat']);
mkdir([basic_path,'/',Top_directory])
if Only_along_velocity_data_export_2 == 0
for i = Select_line2
mkdir([basic_path,'/',Top_directory,'/',Line_name{i},'/',num2str(File_date{Select_file_number2(i)})])
for j = 1:length(Select_file_number2)
mkdir([basic_path,'/',Top_directory,'/',Line_name{i},'/',num2str(File_date{Select_file_number2(j)})])
end
end
elseif Only_along_velocity_data_export_2 == 1
for i = Select_line2
mkdir([Top_directory,'/',Line_name{i}])
end
end
%% Time scale
if Out_put_interval2 == 1
Delta_t = 1;
else
Delta_t = 6;
end
Time_list = datenum(0,0,0,0,0,0):datenum(0,0,0,1,0,0):datenum(0,0,0,2,0,0);
%% for value
Target_file_name{1} = 'Along velocity';
Target_file_name{2} = 'Salinity';
Target_file_name{3} = 'SSC';
Target_file_name{4} = 'Temperature';
Target_label_name{1} = 'Along veolocity (m/s)';
Target_label_name{2} = 'Salinity (psu)';
Target_label_name{3} = 'SSC (mg/L)';
Target_label_name{4} = 'Temperature (^oC)';
Target_colormap{1} = 'RedBlue';
Target_colormap{2} = 'Salinity';
Target_colormap{3} = 'Sediment_v2';
Target_colormap{4} = 'Intensity';
%% Directory 2
if Only_along_velocity_data_export_2 == 0
for i = Select_line2
for j = 1:length(Select_file_number2)
mkdir([basic_path,'/',Top_directory,'/',Line_name{i},'/',num2str(File_date{Select_file_number2(j)}),'/',Target_file_name{Value2}])
end
end
end
%%
for i = Select_line2
for ia = 1:length(filn)
for ib = 1:length(Time)
for j = 1:length(Select_file_number2)
load([basic_path,'/2D__01_Interpolation_to_line/',Line_name{i},'/Interp_data_',num2str(File_date{Select_file_number2(j)}),'.mat']);
lichwo_Y = Line_Y;
Line_X = abs(Line_X - Line_X(1));
Line_Y = abs(Line_Y - Line_Y(1));
Dist = sqrt((Line_X.^2) + (Line_Y.^2));
Date = File_date{Select_file_number2(j)};
Time_list = Time;
for k = 1:5
Distance2(k,:) = lichwo_Y;
end
for T = 1:length(Line_Zeta)
Tide_level2(T) = mean(Line_Zeta{T});
end
%% Value distribution
if Value2 == 1 % Along velocity
for ii = 1:length(Line_X)
[Lat(ii),Lon(ii)] = utm2deg(Line_X(ii),Line_Y(ii),'52 S');
end
%% PCA
theta = atand(abs((Line_Y(end)-Line_Y(1))/(Line_X(end)-Line_X(1))));
if (Line_Y(end)-Line_Y(1))/(Line_X(end)-Line_X(1)) > 0
theta = -theta;
end
for k = 1:length(Line_Depth)
across_velocity{k} = Line_U_comp{k}.*cosd(theta)-Line_V_comp{k}.*sind(theta);
along_velocity{k} = Line_U_comp{k}.*sind(theta)+Line_V_comp{k}.*cosd(theta);
if PCA_reverse2 == 1
Across_velocity{k} = - (Line_U_comp{k}.*cosd(theta)-Line_V_comp{k}.*sind(theta));
Along_velocity{k} = - (Line_U_comp{k}.*sind(theta)+Line_V_comp{k}.*cosd(theta));
else
Across_velocity{k} = Line_U_comp{k}.*cosd(theta)-Line_V_comp{k}.*sind(theta);
Along_velocity{k} = Line_U_comp{k}.*sind(theta)+Line_V_comp{k}.*cosd(theta);
end
end
if Along_Across_change2 == 1
Along_velocity = Across_velocity ;
end
save([Top_directory,'/',Line_name{i},'/Along_velocity_',num2str(File_date{Select_file_number2(j)}),'.mat'],'Along_velocity');
Contour_value2 = Along_velocity;
elseif Value2 == 2 % Salinity
Contour_value2 = Line_Salinity;
elseif Value2 == 3 % SSC
for k = 1:length(Line_Depth)
Contour_value2{k} = Line_SSC{k}*1000;
end
elseif Value2 == 4 % Salinity
Contour_value2 = Line_Temperature;
end
%% Roof start
if Only_along_velocity_data_export_2 == 0
for t = 1:Delta_t:length(Line_Depth)
disp(['Processing... ',Line_name{i},' : ',File_date{Select_file_number2(j)},'... ',num2str(t*100/length(Line_Depth),'%.2f'),'%']);
for k = 1:length(Dist)
Line_H(k) = - (Line_Depth{t}(k)-Line_Zeta{t}(k));
Real_Depth(:,k) = fliplr(linspace(Line_H(k),Line_Zeta{t}(k),5));
end
if Tide_plot2 == 0
%% figure setting 1
fig_width = 13.27; % inch
fig_height = 4.27; % inch
margin_vert_u = 0.6; % inch
margin_vert_d = 0.8; % inch
margin_horz_l = 0.95; % inch
margin_horz_r = 0.65; % inch
fontname = 'calibri';
set(0,'defaultaxesfontname',fontname);
set(0,'defaulttextfontname',fontname);
fontsize = 10; % pt
set(0,'defaultaxesfontsize',fontsize);
set(0,'defaulttextfontsize',fontsize);
set(0,'fixedwidthfontname','times');
hFig2 = figure('Visible','on');
set(hFig2,'renderer','painters');
set(hFig2,'units','inches');
set(hFig2,'position',[0 0 fig_width fig_height]);
set(hFig2,'PaperUnits','inches');
set(hFig2,'PaperSize', [fig_width fig_height]);
set(hFig2,'PaperPositionMode', 'manual');
set(hFig2,'PaperPosition',[1 1 fig_width fig_height]);
set(hFig2,'Color','w');
hAxe = axes;
set(hAxe,'activepositionproperty','outerposition');
set(hAxe,'units','inches');
ax_pos = get(hAxe,'position');
ax_pos(4) = fig_height-margin_vert_u-margin_vert_d;
ax_pos(2) = fig_height-(margin_vert_u+ax_pos(4));
ax_pos(3) = fig_width-margin_horz_l-margin_horz_r;
ax_pos(1) = margin_horz_l;
set(hAxe,'position',ax_pos);
%% Figure (Tide X)
set(gca,'fontname','Calibri','fontweight','bold','fontsize',15,'Box','on','linewidth',1); hold on; grid on;
[c,h] = contourf(Distance2,Real_Depth,Contour_value2{t},50,'linestyle','none'); hold on;
for cl = 1:length(Contour_line_number2)
[c,h] = contourf(Distance2,Real_Depth,Contour_value2{t},50,'linestyle','none');
set(h,'LevelList',Contour_line_number2{cl},'color',Contour_line_color2{cl},'LineStyle',':','LineWidth',2,'Fill','off'); hold on
clabel(c,h,'LabelSpacing',Contour_label_interval2,'color',Contour_line_color2{cl})
end
plot(Distance2(1,:),Real_Depth(1,:),'k','linewidth',0.5);
Area = area(Distance2(1,:),Real_Depth(end,:),Depth_limit2(1),'linewidth',1);
Area.FaceColor = [.8 .8 .8];
colormap(jet); cb = colorbar;
caxis([Caxis_limit2(1) Caxis_limit2(end)])
cb.Label.String = Target_label_name{Value2};
cb.Label.FontSize = 21;
cb.Ticks = Caxis_limit2;
ylim([Depth_limit2(1) Depth_limit2(end)])
yticks(Depth_limit2)
yticklabels(Dep_label2)
xlim([Distance2(1,1) Distance2(1,end)])
xlabel('Distance (m)','fontsize',21)
ylabel('Depth (m)','fontsize',21)
set(gca,'XDir','reverse');
title(datestr(Time(t),'dd HH:MM:SS'),'fontsize',20,'fontweight','bold')
% Time_name = datevec(Time_list(t));
print([basic_path,'/',Top_directory,'/',Line_name{i},'/',num2str(File_date{Select_file_number2(j)}),'/',Target_file_name{Value2},'/',num2str(t)],'-dpng'); close;
AA2(:,:,t) = Contour_value2{t};
if t==144;
fig_width = 13.27; % inch
fig_height = 4.27; % inch
margin_vert_u = 0.6; % inch
margin_vert_d = 0.8; % inch
margin_horz_l = 0.95; % inch
margin_horz_r = 0.65; % inch
fontname = 'calibri';
set(0,'defaultaxesfontname',fontname);
set(0,'defaulttextfontname',fontname);
fontsize = 10; % pt
set(0,'defaultaxesfontsize',fontsize);
set(0,'defaulttextfontsize',fontsize);
set(0,'fixedwidthfontname','times');
hFig2 = figure('Visible','off');
set(hFig2,'renderer','painters');
set(hFig2,'units','inches');
set(hFig2,'position',[0 0 fig_width fig_height]);
set(hFig2,'PaperUnits','inches');
set(hFig2,'PaperSize', [fig_width fig_height]);
set(hFig2,'PaperPositionMode', 'manual');
set(hFig2,'PaperPosition',[1 1 fig_width fig_height]);
set(hFig2,'Color','w');
hAxe = axes;
set(hAxe,'activepositionproperty','outerposition');
set(hAxe,'units','inches');
ax_pos = get(hAxe,'position');
ax_pos(4) = fig_height-margin_vert_u-margin_vert_d;
ax_pos(2) = fig_height-(margin_vert_u+ax_pos(4));
ax_pos(3) = fig_width-margin_horz_l-margin_horz_r;
ax_pos(1) = margin_horz_l;
set(hAxe,'position',ax_pos);
set(gca,'fontname','Calibri','fontweight','bold','fontsize',15,'Box','on','linewidth',1); hold on; grid on;
[c,h] = contourf(Distance2,Real_Depth,mean(AA2,3),50,'linestyle','none'); hold on;
for cl = 1:length(Contour_line_number2)
[c,h] = contourf(Distance2,Real_Depth,mean(AA2,3),50,'linestyle','none');
set(h,'LevelList',Contour_line_number2{cl},'color',Contour_line_color2{cl},'LineStyle',':','LineWidth',2,'Fill','off'); hold on
clabel(c,h,'LabelSpacing',Contour_label_interval2,'color',Contour_line_color2{cl})
end
plot(Distance2(1,:),Real_Depth(1,:),'k','linewidth',0.5);
Area = area(Distance2(1,:),Real_Depth(end,:),Depth_limit2(1),'linewidth',1);
Area.FaceColor = [.8 .8 .8];
colormap(jet); cb = colorbar;
%colormap(eval(Target_colormap{Value})); cb = colorbar;
caxis([Caxis_limit2(1) Caxis_limit2(end)])
cb.Label.String = Target_label_name{Value2};
cb.Label.FontSize = 21;
cb.Ticks = Caxis_limit2;
ylim([Depth_limit2(1) Depth_limit2(end)])
yticks(Depth_limit2)
yticklabels(Dep_label2)
xlim([Distance2(1,1) Distance2(1,end)])
%lichwo_Y2 = [34.1 : -0.1 :33.5]
%xticklabels(Dist(1:10:end));
xlabel('Latitude','fontsize',21)
ylabel('Depth (m)','fontsize',21)
set(gca,'XDir','reverse');
%title([File_date{Select_file_number(j)},' Mean'])
print([basic_path,'\',Top_directory,'\',Line_name{i},'\',num2str(File_date{Select_file_number2(j)}),'\',Target_file_name{Value2},'\',num2str(File_date{Select_file_number2(j)}),'_Mean'],'-dpng'); close;
end
elseif Tide_plot2 == 1
%% figure setting 2
fig_width = 13.27; % inch
fig_height = 7.77; % inch
margin_vert_u = 0.6; % inch
margin_vert_d = 0.8; % inch
margin_horz_l = 0.95; % inch
margin_horz_r = 0.65; % inch
fontname = 'calibri';
set(0,'defaultaxesfontname',fontname);
set(0,'defaulttextfontname',fontname);
fontsize = 10; % pt
set(0,'defaultaxesfontsize',fontsize);
set(0,'defaulttextfontsize',fontsize);
set(0,'fixedwidthfontname','times');
hFig2 = figure('Visible','off');
set(hFig2,'renderer','painters');
set(hFig2,'units','inches');
set(hFig2,'position',[0 0 fig_width fig_height]);
set(hFig2,'PaperUnits','inches');
set(hFig2,'PaperSize', [fig_width fig_height]);
set(hFig2,'PaperPositionMode', 'manual');
set(hFig2,'PaperPosition',[1 1 fig_width fig_height]);
set(hFig2,'Color','w');
hAxe = axes;
set(hAxe,'activepositionproperty','outerposition');
set(hAxe,'units','inches');
ax_pos = get(hAxe,'position');
ax_pos(4) = fig_height-margin_vert_u-margin_vert_d;
ax_pos(2) = fig_height-(margin_vert_u+ax_pos(4));
ax_pos(3) = fig_width-margin_horz_l-margin_horz_r;
ax_pos(1) = margin_horz_l;
set(hAxe,'position',ax_pos);
%% Figure (Tide O)
ax1 = subplot(8,1,[1 2 3]);
set(gca,'fontname','Calibri','fontweight','bold','fontsize',15,'Box','on','linewidth',1); hold on; grid on;
plot(Time_list,Tide_level2,'k','linewidth',1.2);
plot([Time_list(1) Time_list(end)],[0 0],'color',[.4 .4 .4]);
plot([Time_list(t) Time_list(t)],[-10 10],'k:','linewidth',2)
plot(Time_list(t),Tide_level2(t),'ok','linewidth',1.2,'markersize',12,'markerfacecolor','r')
%colormap(White_color); wc = colorbar;
wc.Color = 'w';
wc.LineWidth = 0.1;
xticks([Time_list(1):datenum(0,0,0,2,0,0):Time_list(end)+datenum(0,0,0,2,0,0)]);
% xticks([Time_list(1):datenum(0,0,0,2,0,0):Time_list(end)]);
datetick('x','HH:MM','keepticks');
xlim([Time_list(1) Time_list(end)]);
yticks(Tide_limit2)
ylim([Tide_limit2(1) Tide_limit2(end)])
% xlabel(['Time in ',datestr(Date_num,'mmmm dd, yyyy'),' (HH:MM)'],'fontsize',21)
ylabel('Tide level (m, MSL)','fontsize',21)
ax2 = subplot(8,1,[5 6 7 8]);
set(gca,'fontname','Calibri','fontweight','bold','fontsize',17,'Box','on','linewidth',1); hold on; grid on;
[c,h] = contourf(Distance2,Real_Depth,Contour_value2{t},50,'linestyle','none'); hold on;
for cl = 1:length(Contour_line_number2)
[c,h] = contourf(Distance2,Real_Depth,Contour_value2{t},50,'linestyle','none');
set(h,'LevelList',Contour_line_number2{cl},'color',Contour_line_color2{cl},'LineStyle',':','LineWidth',2,'Fill','off'); hold on
clabel(c,h,'LabelSpacing',Contour_label_interval2,'color',Contour_line_color2{cl})
end
plot(Distance2(1,:),Real_Depth(1,:),'k','linewidth',0.5);
Area = area(Distance2(1,:),Real_Depth(end,:),Depth_limit2(1),'linewidth',1);
Area.FaceColor = [.8 .8 .8];
colormap(jet); cb = colorbar;
caxis([Caxis_limit2(1) Caxis_limit2(end)])
cb.Ticks = Caxis_limit2;
cb.Label.String = Target_label_name{Value2};
cb.Label.FontSize = 21;
ylim([Depth_limit2(1) 10])
yticks(Depth_limit2)
xlim([Distance2(1,1) Distance2(1,end)])
xlabel('Distance (degree)','fontsize',21)
ylabel('Depth (m)','fontsize',21)
Time_name = datevec(Time_list(t));
print([Top_directory,'/',Line_name{i},'/',num2str(File_date{Select_file_number2(j)}),'/',Target_file_name{Value2},'/',num2str(File_date{Select_file_number2(j)}),'_',num2str(Time_name(4),'%02d'),'h',num2str(Time_name(5),'%02d'),'m'],'-dpng');
close;
end
end
end
%% Roof end
disp(['Processing... ',Line_name{i},' : ',File_date{Select_file_number2(j)},' ... Complete!!']);
end
frame2 = getframe(hFig2);
img2 = frame2im(frame2);
[imind2 cm2] = rgb2ind(img2,144);
if ib == 1 & ia == 1
imwrite(imind2,cm2,filename2,'gif','Loopcount',inf,'DelayTime',delaytime);
else
imwrite(imind2,cm2,filename2,'gif','WriteMode','append','DelayTime',delaytime);
end
end
end
end

回答(1 个)

DGM
DGM 2023-10-28
编辑:DGM 2023-10-28
You closed the figure using close() before you tried to take a screenshot of the same figure with getframe(). Of course, it looks like you're creating multiple plots, saving and discarding them before you try to use getframe(), so I don't really know what you're trying to do with getframe().
At least that's my guess. It's not like anybody can run the code.

类别

Help CenterFile Exchange 中查找有关 Animation 的更多信息

产品


版本

R2023b

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by