% % INNFøRING i MATLAB % hvordan starte MATLAB: % matlab& % hjelp helpdesk % eks: få hjelp til å lage en tilfeldig matrise av dimensjon 3 x 4 %MATLAB % Functions % by Subject % % Elementary Matrices and Matrix Manipulation % rand % Y = rand(m,n) Y = rand(3,4) Z = rand(5) % identitetsmatrisen I = eye(3) % gi en matrise fra skjerm B = [1 2 3; 4 5 6] C = [2;3.1;-3.6] D = [1 2 4] % ingen utskrift: bruk semikolon Z = eye(4); A = magic(3) % elementer i en matrise A(1,1) A(2,3) A(3,1) % trekke ut en rad eller kolonne A(1,:) A(2,:) A(:,3) % plotte elementene i en matrise plot(A) spy(A) spy(I) % kopi av en matrise B = A; % operasjoner på en matrise I % forandre et element i en matrise A A(1,1) = 5 A % bytte rad 1 og rad 2 A C = A(1,:); A(1,:) = A(2,:); A(2,:) = C; A % multiplisere en rad med 3 A(2,:) = 3*A(2,:); A % addere et multippel av en rad til en annen A(2,:) = A(2,:) + (-5)*A(1,:); A(3,:) = A(3,:) + (-4/3)*A(1,:); % for løkker % Fibonacci følgen n = 20; a(1) = 1; a(2) = 1; for i=3:n a(i) = a(i-1)+a(i-2); end a plot(a) % viske ut alt i memory clear all % Harmonisk rekke n = 100; s(1) = 1; for i=2:n s(i) = s(i-1) + 1/i; end s plot(s) hold on plot(log([1:n]),'r'); plot(log([1:n])+1,'g'); hold off % addisjon og mult. med skalarer A = magic(3); B = eye(3); C = A+B D = 2*C % M filer % lag en fil random_sum.m n=500; for i=1:n A = rand(10); s(i) = sum(sum(A)); if i==1 cum(i) = s(1); else cum(i) = cum(i-1)+s(i); end aver(i) = (1/i)*cum(i); end figure(1) plot(s) figure(2) plot(aver) % Plotting av grafen til funksjonener. % % f(x) = sin(2*pi*x) på intervallet [0,4] % x = linspace(0,4,100); y = sin(x*2*pi); plot(x,y) hold on z = sin(2*pi*x) + 5*(1./(x+1)); plot(x,z,'r') % Plotting av redulære polygoner og sirkel hold off m=10; theta = linspace(0,2*pi,m); c = cos(theta); s = sin(theta); plot(c,s); % Plotting av grafen til en funksjon av to variable hold off peaks; hold off x = linspace(-8,8,40); y = x; [X,Y] = meshgrid(x,y); R = sqrt(X.^2 + Y.^2) + eps; Z = sin(R)./R; mesh(Z); % Eksperiment med en følge clear all hold off x(1) = input('Skriv første tall:'); k=1; while ( (x(k) ~= 1) & (k <=50) ) if rem(x(k),2) == 0 x(k+1) = x(k)/2; else x(k+1) = 3*x(k)+1; end k = k+1; end plot(x)