mirror of
				https://github.com/KevinMidboe/linguist.git
				synced 2025-10-29 17:50:22 +00:00 
			
		
		
		
	Added matlab code samples.
All of these code samples currently are mis-identified in my repositories. I'm donating them to the cause.
This commit is contained in:
		
							
								
								
									
										41
									
								
								samples/Matlab/example.m
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										41
									
								
								samples/Matlab/example.m
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,41 @@ | ||||
| clear all | ||||
| tic | ||||
| % initialize integration time T, f(x,t), discretization size n ---------------- | ||||
| T = 20; | ||||
| f_x_t = inline('[v(2);-sin(v(1))]','t','v'); | ||||
| grid_min = -3.4; | ||||
| grid_max = 3.4; | ||||
| grid_width = grid_max-grid_min; | ||||
| n = 35; | ||||
| grid_spacing = grid_min:(grid_width/(n-1)):grid_max; | ||||
| advected_x=zeros(n,n); | ||||
| advected_y=zeros(n,n); | ||||
| % integrate all initial points for t in [0,T] -------------------------------- | ||||
| for i = 1:n | ||||
| 	for j = 1:n | ||||
| 		[t,x] = ode45(f_x_t,[0,T],[grid_spacing(i),grid_spacing(j)]); | ||||
| 		% store advected positions as they would appear in (x,y) coords ------ | ||||
| 		advected_x(n-j+1,i) = x(length(x(:,1)),1); | ||||
| 		advected_y(n-j+1,i) = x(length(x(:,2)),2); | ||||
| 	end | ||||
| end | ||||
| sigma=zeros(n,n); | ||||
| % at each point in interior of grid, store FTLE ------------------------------ | ||||
| for i = 2:n-1 | ||||
| 	for j = 2:n-1 | ||||
| 		% compute Jacobian phi ----------------------------------------------- | ||||
| 		phi(1,1) = (advected_x(i,j+1)-advected_x(i,j-1))/(2*grid_width/(n-1)); | ||||
| 		phi(1,2) = (advected_x(i-1,j)-advected_x(i+1,j))/(2*grid_width/(n-1)); | ||||
| 		phi(2,1) = (advected_y(i,j+1)-advected_y(i,j-1))/(2*grid_width/(n-1)); | ||||
| 		phi(2,2) = (advected_y(i-1,j)-advected_y(i+1,j))/(2*grid_width/(n-1)); | ||||
| 		% find max eigenvalue of phi'*phi ------------------------------------ | ||||
| 		lambda_max = max(abs(eig(phi'*phi))); | ||||
| 		% store FTLE --------------------------------------------------------- | ||||
| 		sigma(i,j) = log(lambda_max)/abs(T); | ||||
| 	end | ||||
| end | ||||
| toc | ||||
| %% plot FTLE field ------------------------------------------------------------ | ||||
| figure | ||||
| contourf(grid_spacing,grid_spacing,sigma); | ||||
| colorbar('location','EastOutside'); | ||||
		Reference in New Issue
	
	Block a user