>>rand(7) %7*7 matrix
>>rand(2,5) % 2*5 matrix
>>normrnd(0,1,[1 5])% random number 1*5 matrix from normal
%distribution with mean 0, standard deviation 1.
>> help rand %help manual
>>a=eye(6) %6*6 unit matrix
>>zeros(2,5) % 2*5 matrix with all elements 0
>>ones(7) % 7*7 matrix with all elements 1
>> b=[1; 2; 3;4;5;6] % a column vector with length 6
>> x=a\b % solve a*x = b
2. function
in stat.m
----------------------------------------
function [mean,stdev] = stat(x)
% to calculate mean and standard
%deviation of vector x
n = length(x); mean = sum(x)/n; stdev = sqrt(sum((x-mean).^2/n));-----------------------------------------
>> b=[1; 2; 3;4;5;6]
>>[mean, stdev]=stat(b)
3. Format and misc
Matlab is case sensitive.
Matlab only display only 5 digits, using
>>format long
to display all 16 digits.
>>x=1; y=2; z=3
>>save filename
%will save x, y, z values to filename.mat
>>clear % clear x, y,z
>>load filename % will load filename.mat
>>whos % list x, y, z
>>save -ascii mydata.dat % save x, y and z in ascii
>>! vi mydata.dat % see what is inside mydata.dat
>>diary mydiary.out %will create diary to mydiary.out
>>diary on
>>diary off
4. Colon: create arrays or select a column from a matrix
>> x=-2:1 % -2 -1 0 1
>>x=-2:.5:1 % from -2 to 1 interval 0.5
>>a=rand(2,5)
>> a(2,:) % second row of a
>>a(:,3) % third column of a
>>a([1 2],:) %first and second column of a
>>[eye(2);zeros(2)] % combination of two matrices
5. if ... elseif ... else...end
in even.m
------------------------------
function b=even(n)
% b=1, even, b=0, odd
if mod(n,2)==0,
b=1;
elseif mod(n,2) ==1,
b=0;
else b=0;
end
--------------------------------
6. For loops: for i=1:n,
in addmatrix.m
----------------------------------------------------------
function c=addmatrix(a,b) % This is the function which adds % the matrices a and b. It duplicates the MATLAB % function a+b. [m,n]=size(a); [k,l]=size(b); if m~=k | n~=l, r='ERROR using add: matrices are not the same size'; return, end c=zeros(m,n); for i=1:m, for j=1:n, c(i,j)=a(i,j)+b(i,j); end end-----------------------------------------------------------
7. While loops: while
in twolog.m
-------------------------------------------------
function l=twolog(n) % l=twolog(n). l is the floor of the base 2 % logarithm of n. l=0; m=2; while m<=n l=l+1; m=2*m; end ---------------------------------------------------- 8. Plot x=-pi:0.1:pi y=sin(x) plot(x,y, 'Color','g') %color green hold on % show two plots in the same window y1=cos(x) plot(x,y1,'Color','r') %color red xlabel('-\pi \leq \Theta \leq \pi') % x label theta between -pi and pi ylabel('sin(\Theta)') % put ylabel title('Plot of sin(\Theta)') % put title ------------------------------------------ in plotbar.m, plot data in bar -------------- function plotbar hold on; x=35:1:47; y1=[33,89,105,163,153,419,842,1197,1237,1144,641,269,117]; y2=[2,4,3,1,12,14,33,88,162,240,154,103,99]; h1=bar(x,y1,'g'); xlabel('weeks'); ylabel('cases'); h2=bar(x,y2,'b'); set(h1,'Displayname','confirmed'); % legend set(h2,'Displayname','hospitalized'); %legend set(get(gca,'YLabel'),'Rotation',0.0); hold off; --------------------------------------------------
No comments:
Post a Comment