200 likes | 336 Views
Basic MATLAB. Matlab. Post-processer Graphics Analytical solution comparisons. Vectors. >> a=[1 2 3 4] a = 1 2 3 4 >> a' ans = 1 2 3 4. Autofilling and addressing Vectors. > a=[1:0.2:3]' a = 1.0000 1.2000 1.4000 1.6000
E N D
Matlab • Post-processer • Graphics • Analytical solution comparisons
Vectors >> a=[1 2 3 4] a = 1 2 3 4 >> a' ans = 1 2 3 4
Autofilling and addressing Vectors > a=[1:0.2:3]' a = 1.0000 1.2000 1.4000 1.6000 1.8000 2.0000 2.2000 2.4000 2.6000 2.8000 3.0000 >> a(2:3) ans = 1.2000 1.4000
xy Plots >> x=[1 3 6 8 10]; >> y=[0 2 1 3 1]; >> plot(x,y)
Matrices >> b=[1 2 3 4;5 6 7 8] b = 1 2 3 4 5 6 7 8 >> b' ans = 1 5 2 6 3 7 4 8
Matrices >> b=2.2*ones(4,4) b = 2.2000 2.2000 2.2000 2.2000 2.2000 2.2000 2.2000 2.2000 2.2000 2.2000 2.2000 2.2000 2.2000 2.2000 2.2000 2.2000
Reshape >> a=[1:9] a = 1 2 3 4 5 6 7 8 9 >> bsquare=reshape(a,3,3) bsquare = 1 4 7 2 5 8 3 6 9 >>
Load and if • a = load(‘filename’); (semicolon suppresses echo) • if(1) … else … end
For • for i = 1:10 • … • end
Grad [dhdx,dhdy]=gradient(h);
BMP Output bsq=rand(100,100); %bmp1 output e(:,:,1)=1-bsq; %r e(:,:,2)=1-bsq; %g e(:,:,3)=ones(100,100); %b imwrite(e, 'junk.bmp','bmp'); image(imread('junk.bmp')) axis('equal')
Contours • h=[…]; • contour(h) • [C,H]=contour(h) • Clabel(C,H)
Contours(load data, prepare matrix) • rho=load('rho_frame0012_subs00.dat') • p_vector=rho/3 • rows=100 • columns=20 • for j=1:columns • j • for i=1:rows • p(i,j)=p_vector(j+(i-1)*columns); • %Get rid of '0 pressure' solids that dominate pressure field • if p(i,j)==0 • p(i,j)=NaN; • end • end • end
Contours • [C,H]=contour(p) • clabel(C,H) • axis equal
Quiver (vector plots) >> scale=10; >> d=rand(100,4); >> quiver(d(:,1),d(:,2),d(:,3),d(:,4),scale)
Quiver (and Quiver3) • uv_vector=load('u_frame0012_subs00.dat') • rows=100 • columns=20 • for j=1:columns • j • for i=1:rows • u(i,j)=uv_vector(j+(i-1)*20,1); • v(i,j)=uv_vector(j+(i-1)*20,2); • end • end • hold on • quiver(u,v)
Streamline • [Stream]= stream2(u,v,5,100) • streamline(Stream)
Streamlines • [Stream]= stream2(u,v,[1:20],100*ones(20,1)); • streamline(Stream) • (This is for streamlines starting at y = 100 from x = 1 to 20 along the x axis. Different geometries will require different starting points.)