Techniki obliczeniowe

Nasza ocena:

3
Pobrań: 7
Wyświetleń: 672
Komentarze: 0
Notatek.pl

Pobierz ten dokument za darmo

Podgląd dokumentu
 Techniki obliczeniowe - strona 1

Fragment notatki:


% m-plik skryptowy: spirale_biegunowo.m %
%
% Techniki obliczeniowe, dr inż. P.Korohoda, rok akademicki 2010/2011
% Wstepne sprzatanie wirtualnego biurka:
clc; clear; close all;
tmax=20; % czas symulacji w sekundach;
% trzy warianty spirali do wyboru:
typ_spirali=3;
dfi=1; % w stopniach (trzeba przeliczyc na radiany!):
dfi=pi/180;
fi=3*pi; % od razu w radianach;
a=1;
% ponizsze 6 liniek sluzy wylacznie do ustalenia zakresu osi (dla komendy "axis"):
switch typ_spirali,
case 1, r0=a*(fi-dfi); % spirala Archimedesa;
case 2, r0=a/(fi+dfi); % spirala hiperboliczna;
case 3, b=0.2; r0=a*exp(-b*(fi+dfi)); % spirala logarytmiczna;
end;
v_dla_axis=[-r0,r0,-r0,r0];
x_mem=[]; y_mem=[]; % inicjalizacja pamieci trajektorii;
figure(1); tic;
dalej=1;
while dalej,
clf;
grid on; hold on;
switch typ_spirali,
case 1, fi=fi-dfi; if fitmax, dalej=0; end;
end; % KONIEC PLIKU
function A=losowa_macierz_ortogonalna(N); % A=losowa_macierz_ortogonalna(N); % % Techniki obliczeniowe, dr inż. P.Korohoda, rok akademicki 2010/2011 % najpierw generujemy macierz o liniowo niezaleznych kolumnach: dalej=1; while dalej; A=(rand(N,N)-0.5)*2; if abs(det(A))10^(-3), dalej=0; end; end; % a potem stosujemy procedure Grama-Schnmidta: v=A(1,:); A(1,:)=v/norm(v); % norm, to funkcja Matlaba, ale liczy ona po prostu euklidesowa norme; for n=2:N, v=A(n,:); u=zeros(1,N); for k=1:n-1, % wyznaczamy aproksymacje w dotychczasowej bazie; u=u+(A(k,:)*v.')*A(k,:); end; A(n,:)=(v-u)/norm(v-u); end; % KONIEC FUNKCJI function A=macierz_losowa_o_zadanych_wartosciach_wlasnych (L); % A=macierz_losowa_o_zadanych_wartosciach_wlasnych(L); ... zobacz całą notatkę

Komentarze użytkowników (0)

Zaloguj się, aby dodać komentarz