x=load('myfile.dat'); % load content of myfile.dat in an array x
dir; % display all files in the current directory (like ls) f=dir; % creates a structured array of "files" objects f=dir('*.dat'); % creates an structured array of data files objects f(1).name; % return the name of the first file
for i=1:length(f); % for each file x=load(f(i).name); % load each file i myfunction(x); % do something with x end
save myfile var1 var2 ... -ASCIIor
save('myfile', 'var1', 'var2',...,'-ASCII')or (if you want to index your file)
index=i; myfile = sprintf('file%d.dat',index); save(myfile, 'var1', 'var2',...,'-ASCII')or (if you want to concatenate strings)
fileext='dat'; myfile = sprintf('myfile.%s',fileext); save(myfile, 'var1', 'var2',...,'-ASCII')
fID=fopen('mytextfile.txt','w'); % file ID ('w' means "open or create new file for Writing") myformat='%s\t%g\n'; % my format D1='The value of pi is:'; % string data D2=3.14159; % numeric data fprintf(fID,myformat,D1,D2); % write in file fclose(fID); % close file type mytextfile.txt; % display the content of the file
nfig=1; % number of the figure set(nfig,'PaperPositionMode','auto'); % to keep aspect ratio when saving in file
saveas(gca,'myfigure.jpg','jpg'); % save current figure as jpg fileor
saveas(gca,'myfigure.eps','eps'); % save current figure as eps file
rand('state',sum(100*clock));To generate...
z=rand()a 5x5 matrix of random values from a uniform distribution between 0 and 1:
z=rand(5)a vector of 5 random values from a uniform distribution between 0 and 1:
z=rand(5,1)a vector of 5 random values from a uniform distribution between 0 and 10:
z=10.*rand(5,1)a vector of 5 random integer values from a uniform distribution between 0 and 10:
z=ceil(10.*rand(5,1))a vector of 5 random values from a normal distribution of mean 0 and standard devation 1:
z=randn(5,1)a vector of N random values from a normal distribution of mean m and standard devation s:
m=5; % mean s=2; % standard deviation N=100; % number of numbers to generate z=m+s.*randn(1,N);a random number from a binomial distribution with parameters specified by the number of trials, N, and probability of success for each trial, p:
N=100; % number of trials p=0.7; % probability of success z=binornd(N,p);a matrix of n x m random values from a binomial distribution (with N trials and probability p of success):
N=10; % number of trials p=0.5; % probability of success n=5; m=5; z=binornd(N,p,[n,m])a matrix n x m of random values with proba p to get a non-null value (i.e. a "sparse" random matrix):
p=0.5; % probability to have a non-nul value n=5; m=5; z=rand(n,m).*binornd(1,p,[n,m])a vector of N random values from a log-normal distribution of mean m and standard devation s:
m=5; % mean s=2; % standard deviation N=100; % number of numbers to generate mn=log(m^2/sqrt(s^2+m^2)); sn=sqrt(log(s^2/m^2+1)); z=exp(mn+sn.*randn(1,N));a vector of N=100 numbers from a gamma distribution with mean m=5 and standard deviation s=5:
m=5; % mean s=5; % st dev N=100; % number of random numbers to generate a=m/s ; % shape parameter b=m^2/s ; % scale parameter x=gamrnd(a,b,[1 N]);a random permutation of the integers 1:n
n=8; z=randperm(n)random permutation of the elements of a vector
v=[2 4 6 8 10]; w=v(randperm(length(v)))
eq1=sprintf('a-(b+1)*x+x^2*y'); eq2=sprintf('b*x-x^2*y'); sol=solve(eq1,eq2,'x','y'); sol.x sol.yTo solve equations numerically
a=2; b=5.2; eq1=sprintf('%d-(%d+1)*x+x^2*y',a,b); eq2=sprintf('%d*x-x^2*y',b); sol=solve(eq1,eq2,'x','y'); sol.x sol.ySelecting real solutions
eq1=sprintf('2/(1+Y^4)-X=0'); eq2=sprintf('2/(1+X^4)-Y=0'); sol=solve(eq1,eq2,'X','Y'); sol.X sol.Y x=eval(sol.X) y=eval(sol.Y) k=find(imag(x)==0); sol=[x(k) y(k)]
%%% Data x=[0 1.6 2.6 4.1 5.1 6.5 7.4 8.9 9.6]; y=[-10.3 0.2 13.5 23 41.9 45.7 60.1 78.0 88.2]; %%% Correlation coefficient (if R close to 1, linear fit OK) R=corrcoef(x,y); R(1,2) %%% Fitting n=1; % degree of the polynom (n=1 <=> linear fit) p=polyfit(x,y,n) %%% Write the function fprintf('Best fit: y = %g x + %g nn',p(1),p(2)) %%% Figure xfit=x; yfit=p(1).*x +p(2); plot(x,y,'bo',xfit,yfit,'r-'); xlabel('x'); ylabel('y'); legend('data','fit',2)Exponential fit
%%% Data t = [1:8] ; x = [629 537 460 375 334 286 249 227] ; %%% Define your exponential function fh = @(t,p) p(1) + p(2)*exp(-t./p(3)) %%% Error function (to be minimized) errfh = @(p,x,y) sum((y(:)-fh(x(:),p)).^2) %%% Initial guess of the exponential parameters p0 = [mean(x) (max(x)-min(x)) (max(t) - min(t))/2]; %%% Search for solution P = fminsearch(errfh,p0,[],t,x) %%% Write the function fprintf('Best fit: x = %g + %g exp(-t/%g) nn',P(1),P(2),P(3)) %%% Plot the result tt=[1:0.1:8]; plot(t,x,'bo',tt,fh(tt,P),'r-') xlabel('t') ylabel('x') legend('data','fit')
Time series plot | |
T=[0:5] % this generates a vecteur T with number 0 to 5 D=rand(6) % this generates a 6x6 matrix with random number between 0 and 1 figure(1) set(figure(1),'Position', [400 400 500 300]); % size of the figure clf; % to clean the figure plot(T,D(:,2),'b',T,D(:,3),'r.',T,D(:,4),'g--'); xlabel('Time (h)','fontsize',18); ylabel('Variable (nM)','fontsize',18); xlim([0 5]); ylim([0 1]); title('Here is a useless plot') legend('x','y','z'); set(gca,'xtick',[0:0.5:6],'fontsize',14); set(findobj(gca,'Type','line','color','blue'),'LineWidth',2); | |
Symbols plot | |
figure(3) clf; T=[1:5]; X=rand(5,1); Y=rand(5,1); Z=rand(5,1); plot(X,X,'rs','LineWidth',1,'MarkerEdgeColor','k','MarkerFaceColor','b','MarkerSize',10) hold on; plot(X,Y,'o','LineWidth',1,'MarkerEdgeColor','r','MarkerFaceColor','r','MarkerSize',15) hold on; plot(X,Z,'^','LineWidth',2,'MarkerEdgeColor','k','MarkerFaceColor','g','MarkerSize',15) Y=rand(5,1) grid on; | |
Scatter plot | |
N=50; % number of points to generate X=rand(1,N); % x-position Y=rand(1,N); % y-position Z=rand(1,N); % value (color) of the points %s=50; % size of the points (same for all points) %s=100*rand(1,N); % size of the points (random) s=100*Z; % size of the points (same vector as color) figure(1) clf; scatter(X,Y,s,Z,'filled') annotation('arrow',[0.2 0.5],[0.2 0.5]) % draw arrow box on; | |
Error bar | |
figure(1) clf; x=[0:0.5:10]; y=sin(x); e=rand(1,length(x))/5 errorbar(x,y,e) hold on; plot([0 10],[0 0],'k--') text(8,-0.15,'base line','fontsize',14,'HorizontalAlignment','center'); text(1,1.25,'maximum','fontsize',14,'HorizontalAlignment','left'); text(6,-1.25,'minimum','fontsize',14,'HorizontalAlignment','right'); xlim([-0.2 10.2]); ylim([-1.5 1.5]); box on; | |
Double-y plot | |
figure(1); clf; x1=[0:0.5:10]; y1=x1.^2; x2=[0.2:0.2:20]; y2=1./x2; [AX,H1,H2]=plotyy(x1,y1,x2,y2); box off; set(get(AX(1),'Ylabel'),'String','Square (x^2)','fontsize',18) set(get(AX(2),'Ylabel'),'String','Inverse (1/x)','fontsize',18) set(H1,'LineWidth',2) set(H2,'LineWidth',2,'LineStyle','--') xlabel('x','fontsize',18); set(AX(1),'YLim',[0 100],'YTick',[0:10:100],'fontsize',15) set(AX(2),'YLim',[0 1],'YTick',[0:0.2:1],'fontsize',15) set(AX(1),'xlim',[0 10]); set(AX(2),'xlim',[0 10]); | |
Bar plot | |
figure(4) X=[1:10]; Y=rand(10,1); bar(X,Y,'r'); xlabel('X','fontsize',18); ylabel('Y','fontsize',18); | |
Bar plot (multicolor) | |
D=[12 8 16 4]; % data figure(1) b=bar(1:4,D); % bar plot %%% trick to personnalize the color of each bar: ch=get(b,'children'); cd=repmat(1:numel(D),5,1); cd=[cd(:);nan]; set(ch,'facevertexcdata',cd); colormap([[0,0,1];[1,0,0];[0,0.5,0.5];[0.5,0,0.5]]); set(gca,'YGrid','on') % horizontal grid ylim([0 max(D)+2]); set(gca,'XTickLabel',{'data 1','data 2','data 2','data 4'},'fontsize',14) ylabel('Occurence') | |
Bar plot with error bars | |
figure(1) clf; D=[15 85; 54 46; 28 72]; % data S=[1.5 8.5; 4.6 5.4; 2.8 7.2]; % st dev (10%) h=bar(D); set(h,'BarWidth',1); hold on; ngroups = size(D,1); nbars = size(D,2); groupwidth = min(0.8, nbars/(nbars+1.5)); colormap([0 0 1; 1 0 0]); % blue / red for i = 1:nbars x = (1:ngroups) - groupwidth/2 + (2*i-1) * groupwidth / (2*nbars); errorbar(x,D(:,i),S(:,i),'k.','linewidth',2); end set(gca,'XTickLabel',{'Test 1','Test 2','Test 3'},'fontsize',14) ylabel('Percentage','fontsize',14) | |
Histogram | |
D=randn(50,1) % generates a vector with 50 numbers normally distributed figure(2) bin=[-4:0.2:4]; hist(D,bin); xlabel('Value','fontsize',18); ylabel('Occurrence','fontsize',18); xlim([-4 4]); ylim([0 8]); set(findobj(gca,'Type','patch'),'FaceColor','b','EdgeColor','k') text(-3,6,'this is a blue histogram') | |
Histogram with several populations | |
figure(2) D1=randn(1000,1); % generates a vector with 1000 random numbers normally distributed D2=2*randn(1000,1)+3; % generates a vector with 1000 random numbers normally distributed x=[-5:0.5:10]; y1=hist(D1,x); y2=hist(D2,x); D=[y1; y2]; bar(x,D',1.4); xlabel('Value','fontsize',18); ylabel('Occurrence','fontsize',18); | |
Box plot | |
n=100; % number of data points / sample D(1:n,1)=10+2*randn(1,n); % sample 1 D(1:n,2)=30+5*randn(1,n); % sample 2 D(1:n,3)=10+2*randn(1,n); % sample 3 D(1:n,4)=5+10*randn(1,n); % sample 4 figure(1) clf h=boxplot(D,'plotstyle','traditional','whisker',1.5); %%% Some alternatives: % 'plotstyle'= 'compact' => useful of many boxes % 'whisker'= 1.5 (default) => increased not to display outliers % 'colors'='k' => plot in black set(findobj(gcf,'LineStyle','--'),'LineStyle','-') % solid lines for b=1:4 % loop on boxes for i=1:size(h,1) % loop on the "elements" of a box set(h(i,b),'linewidth',3); % increase linewidth end end mylabels={'Sample 1','Sample 2','Sample 3','Sample 4'}; mylabpos=[1:4]; set(gca,'XTickLabel',mylabels,'XTick',mylabpos,'fontsize',14); | |
Fill polygons | |
x = [1 2 4 7 9 4]; y = [4 9 9 7 3 1]; col=[0.2 0.6 0.2]; % colour (RGB) fill(x,y,col); xlim([0 10]); ylim([0 10]); set(gca,'XTickLabel',{''}) % to remove x tick labels set(gca,'YTickLabel',{''}) % to remove y tick labels set(gca,'XTick',[]) % to remove x ticks set(gca,'YTick',[]) % to remove y ticks %axis off; % to remove the box | |
Color map | |
X=rand(10); imagesc(X); colormap(jet); % instead of 'jet' try 'gray', 'bone', 'spring',... % >>help colormap for more color options. set(gca,'XTickLabel',{''}) % to remove x tick labels set(gca,'YTickLabel',{''}) % to remove y tick labels set(gca,'XTick',[]) % to remove x ticks set(gca,'YTick',[]) % to remove y ticks | |
Pie chart | |
x=[30 10 60 50]; explode = [0 0 0 0]; %explode = [0 2 0 0]; labels = {'Label 1', 'Label 2', 'Label 3', 'Label 4'}; %labels = []; % to indicate percents instead of labels h=pie(x,explode,labels); % try pie3 for 3D pie... % NB: if no labels, the percentage are indicated. %set(h(2:2:8),'fontsize',16); % sise of the labels set(h(2),'fontsize',16,'position',[-0.4 0.5],'color','w'); % label 1 set(h(4),'fontsize',16,'position',[-0.7 0.07],'color','k'); % label 2 set(h(6),'fontsize',16,'position',[-0.1 -0.5],'color','k'); % label 3 set(h(8),'fontsize',16,'position',[0.4 0.35],'color','w'); % label 4 colormap jet %set(h(1),'facecolor','m'); % change color of piece 1 into magenta title('Example of pie chart','fontsize',18) %set(gca,'position',[0.13 0.11 0.775 0.815]) % to change plot position legend('lab1','lab2','lab3','lab4','location',[0.75 0.7 0.2 0.2]) | |
Plot 3D | |
figure(8) clf; x=[0:0.01:40]; plot3(x.*sin(x),x.*cos(x),x,'b') box on; | |
Surface | |
x=[1:0.2:10]; y=[1:0.2:10]; for i=1:length(x) for j=1:length(y) z(i,j)=1./x(i).*sin(y(j)); end end figure(2); clf; surf(x,y,z); | |
Contour | |
z=peaks; % demo data figure(2) clf; n=8; % number of contour plot (not mandatory) contour(z,n,'linewidth',2); %%% To write level on the contour lines: % [C,h]=contour(z,n,'linewidth',2) % set(h,'ShowText','on','TextStep',get(h,'LevelStep')*2) %%% Alternative representations: % contourf(z,n) % to fill the regions between the contours % contour3(z,n) % to draw the contours in 3D | |
Surface + contour | |
z=peaks; % demo data figure(4) clf; h=surfc(z); clev=-8; % z-level of the contour lines for n=2:numel(h) z=get(h(n),'zdata'); set(h(n),'zdata',ones(size(z))*clev); % Contours are draw at z=clev end | |
Density | |
z=peaks; % demo data figure(3) clf; niter=1; method='bilinear'; y=interp2(z,niter,method); imagesc(y); | |
Geometrical shapes | |
%%% background colors whitebg([1.0 1.0 0.6]) % background color (in+out plot) set(gcf,'Color',[0,0.4,0.4]) % background color (out plot only) %%% circle circle = rsmak('circle'); fnplt(circle) set(findobj(gca,'Color','blue'),'Color','r','LineWidth',2) xlim([-1.5 5]) ylim([-1.5 5]) axis square %%% ellipse hold on; S=[2,1]; % stretch T=[2;3]; % translation a=35*2*pi/360; % rotation angle R=[cos(a) sin(a);sin(a) -cos(a)]; % rotation matrix ellipse = fncmb(circle,[S(1) 0;0 S(2)]); % stretch rtellipse = fncmb(fncmb(ellipse, R), T ); % rotate fnplt(rtellipse) set(findobj(gca,'Color','blue'),'Color','b','LineWidth',4) %%% rectangle hold on; c=[0.0 0.6 0.4]; rectangle('Position',[2.5,0.5,2,3],'LineWidth',2,'facecolor',c,'edgecolor',c) %%% rounded rectangle hold on; rectangle('Position',[0.5,-0.2,3.2,1.3],'Curvature',[0.8,0.4],'LineWidth',2,'facecolor','b') %%% triangle hold on; h=patch([0 1 2], [3 4.5 3],'g'); set(h,'facecolor',[0.6 0.0 0.4],'facealpha',0.7) | |
Voronoi plot | |
N=30; % number of cells x=rand(1,N); y=rand(1,N); D=[x;y]'; [v,c]=voronoin(D); % get edges for p=1:N r=rand()/2+0.5; % color: random light grey col=[r r r]; patch(v(c{p},1),v(c{p},2),col); % color hold on; plot(x(p),y(p),'k.') % dot at "center" end voronoi(x,y,'k') % plot edges axis equal box on xlim([0 1]) ylim([0 1]) | |
Sphere | |
r=20; % resolution a=2; % size of the sphere xc=1;yc=2;zc=3; % coordinates of the center alpha=0.5; % transparency [x,y,z]=sphere(r); figure(1) clf; surf(xc+x*a,yc+y*a,zc+z*a,'facecolor','blue','edgecolor','k','facealpha',alpha) %colormap('jet') % colormap can be used if facecolor not used xlabel('x'); ylabel('y'); zlabel('z'); | |
Cube | |
xc=1; yc=1; zc=1; % coordinated of the center L=1; % cube size (length of an edge) alpha=0.8; % transparency (max=1=opaque) X = [0 0 0 0 0 1; 1 0 1 1 1 1; 1 0 1 1 1 1; 0 0 0 0 0 1]; Y = [0 0 0 0 1 0; 0 1 0 0 1 1; 0 1 1 1 1 1; 0 0 1 1 1 0]; Z = [0 0 1 0 0 0; 0 0 1 0 0 0; 1 1 1 0 1 1; 1 1 1 0 1 1]; % C='blue'; % unicolor C= [0.1 0.5 0.9 0.9 0.1 0.5]; % color/face % C = [0.1 0.8 1.1 1.1 0.1 0.8 ; 0.2 0.9 1.2 1.2 0.2 0.8 ; % 0.3 0.9 1.3 1.3 0.3 0.9 ; 0.4 0.9 1.4 1.4 0.4 0.9 ]; % color scale/face X = L*(X-0.5) + xc; Y = L*(Y-0.5) + yc; Z = L*(Z-0.5) + zc; fill3(X,Y,Z,C,'FaceAlpha',alpha); % draw cube axis equal; AZ=-20; % azimuth EL=25; % elevation view(AZ,EL); % orientation of the axes | |
Multi-plot | |
figure(1) clf; x=[0:10]; subplot(2,3,1) plot(x,x) subplot(2,3,2) plot(x,(x-5).^2) subplot(2,3,3) plot(x,1./(x+1)) subplot(2,3,4) plot(x,exp(x)) subplot(2,3,5) plot(x,sin(x)) subplot(2,3,6) plot(x,factorial(x)) | |
Multi-plot | |
figure(1) clf; x=[-1:0.02:1]; subplot(2,2,[1 3]) plot(x,x.^2,'b.') subplot(2,2,2) plot(x,1./x,'r.') subplot(2,2,4) plot(x,cos(10.*x),'g.') | |
Multi-plot | |
figure(1) clf; x=[0:0.01:20]; subplot('Position',[0.1 0.75 0.65 0.2]) plot(x,sin(x),'b') subplot('Position',[0.2 0.45 0.65 0.2]) plot(x,cos(x),'b') subplot('Position',[0.3 0.15 0.65 0.2]) plot(x,sin(x).*cos(x),'b') | |
Inset | |
figure(1) clf; x=[0:0.1:20] y=sin(x) subplot(1,1,1) ; % main plot plot(x,y,'b') xlabel('x','fontsize',18) ylabel('sin(x)','fontsize',18) axes('position',[0.5 0.6 0.3 0.2]) ; % inset plot(x,abs(y),'r') xlabel('x','fontsize',15) ylabel('abs(sin(x))','fontsize',15) | |
color=[r g b]; % r=red, g=green, b=blueSome colors can also be referred to by their "name". Examples:
color='b'; % blue color='k'; % black color='m'; % magentaHere is the code (r,g,b) and the name for different colors.
Simulation | ||
Simulating a discrete iterative system (logistic equation) | 25/1/2008 | logistic.m |
Simulating a 2-ODE system (Bruxellator) | 29/1/2008 | brusselator.m |
Simulating a 2-ODE system + plot the direction field (Toggle switch) | 31/1/2009 | togglequiver.m |
Simulating a 2-ODE phase oscillator (limit-cycle phase oscillator) | 14/7/2008 | phaseoscillator.m |
Simulating a 3-ODE system (FRQ model for circadian clock) | 25/1/2008 | frq.m |
Simulating a 3-ODE system + sensitivity analysis (FRQ model for circadian clock) | 19/12/2012 | frqsensitivity.m |
Simulating a forced 3-ODE system (FRQ model for circadian clock entrained by a LD cycle) | 29/1/2008 | frqforced.m |
Simulating a perturbed 3-ODE system + phase response curve (FRQ model for circadian clock perturbed by a light pulse) | 22/7/2008 | frqprc.m |
Simulating a 3-ODE system with a conditional resetting of a variable (Ruoff model) | 13/8/2009 | ruoff.m |
Simulating a chaotic 3-ODE system (Rossler model) | 8/7/2008 | rossler.m |
Simulating a 2-variable DDE system (Delay differential models for circadian clock: Scheper model with 1 delay + Sriram model with 3 delays) | 16/7/2008 | delaymodel1.m delaymodel2.m |
Simulating a system of coupled oscillators (N x 4-ODE system) (Coupled Goodwin oscillators via (1) a mean field or (2) a coupling matrix) | 29/5/2008 | goodwinsynchro1.m goodwinsynchro2.m |
Simulating a system with diffusion (1D and 2D simple Fick model) | 24/5/2008 29/5/2008 | fick.m fick2D.m |
Simulating a reaction-diffusion system (Reaction-diffusion Brusselator - 2D) | 29/5/2008 | bruxRD2D.m |
Simulating a reaction-diffusion system (Propagating front) | 8/9/2012 | RDfront.m |
Simulating a stochastic system with the Gillespie algorithm (Stochastic FRQ model) | 13/7/2007 | frqstocha.m |
Simulating a stochastic system with the Langevin algorithm (Stochastic Brusselator model) | 26/1/2007 | bruxLange.m |
Time series analysis (deterministic time series) | ||
Maxima (all maxima of a time series) | 28/10/2014 | maxima.m |
Minima (all minima of a time series) | 28/10/2014 | minima.m |
Period (for deterministic oscillations) | 2/1/2011 | period.m |
Amplitude (for deterministic oscillations) | 2/1/2011 | amplitude.m |
Phase (for deterministic oscillations) | 2/1/2011 | phase.m |
Damping (for deterministic oscillations) | 2/1/2011 | damping.m |
Poincare section | 8/3/2011 | poincare.m |
Order parameter (for synchronized oscillations) | 19/10/2010 | orderparam.m |
Time series analysis (stochastic time series) | ||
Auto-correlation function (for stochastic oscillations) | 30/1/2008 | autocorrelation.m |
Period distribution - naive approach (for stochastic oscillations) | 30/1/2008 | distriper.m |
Period distribution using Hilbert transform (for stochastic oscillations) | 12/12/2009 | hilbertperiod.m |
Fourier transform (for stochastic oscillations) | 9/7/2008 | myfft.m |
Data analysis and statistics | ||
Coefficient of determination (R-squared) | 14/4/2014 | rsq.m |
Bray-Curtis distance | 3/8/2013 | braycurtis.m |
Hurst exponent | 15/4/2014 | hurst.m |
Data visualisation | ||
Actogram (ex: actogram.png) | 21/10/2010 | actogram.m |
Raster plot (ex: raster.png) | 29/12/2010 | raster.m |
Graph (as in Graph theory) (ex: graph.png, graph2.png) | 4/8/2013 | graph.m graph2.m |
Plot matrix (with color scale) (ex: plotmatrix.png) | 30/7/2014 | plotmatrix.m |
Time series profile (ex: tsprofile.png) | 8/5/2014 | tsprofile.m |
Plot color points (from a data matrix) (ex: plotcolorpoints.png) | 21/10/2015 | plotcolorpoints.m |
Phase circle (ex: phasecircle.png) | 18/11/2015 | phasecircle.m |
Simplex (ternary) plot (ex: simplex.png) | 10/12/2015 | simplex.m |
Cellular automaton | ||
Wolfram's automata (1D) (see some results here) | 27/7/2008 | wolfram.m |
Game of Life (2D) (see some results here) | 27/7/2008 | gameoflife.m |
Cell cycle automaton (see scheme of the model here and results here) | 6/11/2008 16/11/2008 | cdcautomaton.m cdcautoanim.m |
Hubbell model (population dynamics) +spatial extension | 24/7/2012 | hubbell.m hubbell_spatial.m |
Other automata (Langton's ant, Diffusion, Aggregation, Sand pile, etc) | 28/12/2010 | See here |
Random walks | ||
Random walk | 30/12/2008 | randomwalk.m |
Brownian movement | 30/12/2008 | brownian.m |
Fibonacci and Golden ratio | ||
Fibonacci numbers | 31/12/2008 | fibonacci.m |
Golden spiral | 31/12/2008 | goldspiral.m |
Golden plant | 31/12/2008 | goldplant.m |
Golden tree | 31/12/2008 | goldtree.m |
Tournesol | 31/12/2008 | tournesol.m |
Chaos and Fractals | ||
Fractals: Cantor, Koch, Sierpinsky, Menger, Julia, Mandelbrot,... | 25/1/2008 | See here |
Henon map | 21/11/2012 | henon.m |
Baker's transform | 23/12/2012 | baker.m |
Miscellaneous | ||
Arrow (add arrow(s) on a plot) | 30/4/2015 | arrows.m |
Circle | 2/8/2013 | circle.m |
Moebius strip | 26/12/2011 | moebius.m |
Perimeter of polygones | 3/11/2013 | polyperim.m |
Intersection | 12/12/2013 | intersection.m |
Voronoi neighbours (get neighbours in a Voronoi diagram) | 2/11/2013 | voroneighbours.m |
Scale-free network | 25/4/2014 | SFnet.m |
Image manipulation | ||
Image deformations (applied here to clownfish1.jpg) | 21/7/2008 | imtransfo.m |
Image colors changes (applied here to clownfish1.jpg) | 21/7/2008 | imcolor.m |
Image superposition (applied here to clownfish1.jpg and clownfish2.jpg) | 21/7/2008 | imsuper.m |
Photomaton (applied here to monalisa_256.jpg => monalisa_out.jpg) | 24/7/2010 | photomaton.m |
Transformation du Boulanger (applied here to monalisa_256.jpg => monalisaboul.png) | 9/10/2011 | boulanger.m |
Photocube (applied here to photo1.jpg+photo2.jpg+photo3.jpg => photocube.jpg) | 17/8/2012 | photocube.m |
Animation | ||
Rotating cube (see animation here) | 3/1/2009 | rotatingcube.m |
Lighted sphere (see animation here) | 15/2/2009 | lightsphere.m |
Transparent icosahedron (see animation here) | 15/2/2009 | icosahedron.m |