【影象處理】基於matlab GIF生成【含Matlab原始碼 623期】
阿新 • • 發佈:2021-06-24
一、簡介
基於matlab gif圖片的生成
二、原始碼
% session 1 % convection and diffusion in 2D!! % small initialization clear all clf syms x m % finding am L = 50; f = sin(pi*x*m/L); a1 = 2/L*int(x*f,x,[0,1]); a2 = 2/L*int((2-x)*f,x,[1,2]); am = a1 + a2; % from sym2double clear x m1 = 1:100; am1 = double(subs(am,m,m1)); % space discretization dx = -2:0.25:10; dy = 1:20; [xx,yy] = meshgrid(dx,dy); % preallocation phi = zeros(1,size(dx,2)); phi2D = zeros(size(dy,2),size(dx,2)); % time loop for t = 0:0.1:10 clf n = 1; % calculate phi for x = dx % convection (comment if other option used) % phi(n) = sum(am1.*sin(m1*pi*(x-t)/L)); % diffusion (comment if other option used) % phi(n) = sum(am1.*exp(-0.1*(m1*pi/L).^2*t).*sin(m1*pi*(x)/L)); % convection & diffusion (comment if other option used) phi(n) = sum(am1.*exp(-0.1*(m1*pi/L).^2*t).*sin(m1*pi*(x-t)/L)); n = n+1; end % create phi matrix for y = dy phi2D(y,:) = phi; end % plot 1D line (comment if plot 2D is used) % plot(dx,phi) % axis([min(dx) max(dx) -1 1]) % plot 2D surface (comment if plot 1D is used) surface(xx,yy,phi2D) axis([min(dx) max(dx) min(dy) max(dy) -1 1]) % some other plot options title(sprintf('Simulation time = %f s', t)) xlabel('x'); ylabel('y'); zlabel('z') grid on rotate3d on % view(0,90) % view from above view(3) pause(0.01)
三、執行結果
四、備註
版本:2014a
完整程式碼或代寫加1564658423