Presentation is loading. Please wait.

Presentation is loading. Please wait.

BEH.420 Matlab Tutorial Bambang Adiwijaya 09/20/01.

Similar presentations


Presentation on theme: "BEH.420 Matlab Tutorial Bambang Adiwijaya 09/20/01."— Presentation transcript:

1 BEH.420 Matlab Tutorial Bambang Adiwijaya 09/20/01

2 Starting Matlab On athena: –Athena% add matlab –Athena% matlab On PC: –Point and click

3 Matlab basic Functions: –Matrix formulation: fast calculation –Strong in numerical, but weak in analytical –General purpose math solvers: nonlinear equations, ODEs, PDEs, optimization Basic mode of usage: –Interactive mode –M-script –Functions M-script and Functions must be written in separate files

4 Basic Syntax Case sensitive variable name Ending a statement with a “;” Vector: Vec(i) Matrix: Mat(i,j,…) Element by element matrix operations: –“.*,./,.^2” General matrix operations: –Cross product (*) Looping in matlab: for I = 1:N, for J = 1:N, A(I,J) = 1/(I+J-1); end If statement: if I == J A(I,J) = 2; elseif abs(I-J) == 1 A(I,J) = -1; else A(I,J) = 0; end

5 Basic Matlab Commands Matlab commandsFunctions and descriptions help functionnameMatlab on-line help for functions lookfor searchphraseTo find matlab function with descriptions containing the search phrase whoTo list all variables currently used size(matrix)To identify the dimensionality of the matrix ones(m,n)To create a unit matrix of size m x n print –depsc filename.psTo print an active plot (later use lpr to print in athena)

6 Function A function must be created under a separate file Function name and filename should be the same Example: function [res] = no1fun(x,p1); res(1)=x(1)*x(2)-p1; res(2)=x(1)-2*x(2);

7 Plotting figure; %to create a new popup window plot(X,Y,'c+:‘); semilogx(X,Y,’bx-’); subplot(row,col,figno), title([‘example title’]); ylabel(‘temp’); xlabel(‘conc’); axis([minX maxX minY maxY]); Example: a=(1:10); b=a.^2; c=a.^0.5; figure; subplot(2,1,1), semilogx(a,b,’bx-’); subplot(2,1,2), plot(a,c, ‘rs:’);

8 Fsolve: solving nonlinear equations FSOLVE solves equations of the form: F(X)=0 where F and X may be vectors or matrices. Syntax: X=fsolve('FUN',X0,OPTIONS, P1,P2,...) Problem: Solve: x(1)*x(2)-3=0 x(1)-2*x(2)=0

9 ODE solvers: solving ordinary differential equations ODE23, ODE45, ODE113, ODE15S, ODE23S –ODE45: Runge Kutta (4,5) formula, best first try function –ODE23: Runge Kutta (2,3) formula. –ODE113: variable order Adams-Bashforth-Moulton PECE solver. More efficient when the function evaluation is expensive. Stiff vs non-stiff ODEs Function: solving y’=F(t,y). ODE file must be in the form of: dydt=F(t,y,flag,p) Syntax: [T,Y] = ode45('F',TSPAN,Y0,OPTIONS,P1,P2,...)

10 ODE solvers: how to solve higher order ODE? Example: how to solve: y’’+2y’+3=0? Answer: make substitution. Y1=y Y2=y’ New formulation: Y1’=Y2 Y2’=-2Y2-3

11 Curvefitting CURVEFIT solves problems of the form: min sum {(FUN(X,XDATA)-YDATA).^2} where FUN, XDATA and YDATA are X vectors. Syntax: X=curvefit('FUN',X,XDATA,YDATA,OPTIONS,'GRADFUN',P1,P2,..) Examples: Fit the following data into the following model and regress x parameters: ydata=p*x(1)+x(2)*exp(-xdata);

12 Importing data Textread, dlmread DLMREAD read ASCII delimited file. M = dlmread(FILENAME,DLM) TEXTREAD read text file in a certain format [A B] = textread(‘datafile','%f %f');


Download ppt "BEH.420 Matlab Tutorial Bambang Adiwijaya 09/20/01."

Similar presentations


Ads by Google