Zadanie 1
Zapisz poniżej polecenia, które utworzą macierz trójkątna goma A o wymiarze 10x10, wypełniając ja losowo wybranymi cyframi, następnie wypełnij przekątna glowną jedynkami, Następnie, Rozwiązują układ równań Ax=b wykorzystujac funkcje SciLaba linśolve()biorac jako wektor b kolejne liczby nanjralne 1,2,3,...,10,
A=zeros(10,10)
for i=1:10
for j=1:10
if i==j
A(i,j)=1
else
A(i,j)=round(10*rand())
end
end
end
b=[1:10]'
x=linsolve(A,-b)
Zadanie 2
Zapisz poniżej polecenia, które utworzą macierz A o wymiarze 10x10 wypełniając ja poza przekątna główna losowymi liczbami zprzedzialu [0,1], zaś na przekątnej głównej losowymi liczbami z przedziału [5,10] Następnie, wykorzystując funkcje SciLaba cholQ, znajda rozkład Cholesky'ego A-R/R, oraz utworzą wektor kolumnowy b którego i-ty element będzie największym elementem i-tego wiersza macierzy R.
A=zeros(10,10)
for i=1:10
for j=1:10
if i==j
A(i,j)=5*rand()+5
else
A(i,j)=rand()
end
end
end
R=chol(A)
b=zeros(10,1)
for i=1:10
for j=1:10
if R(i,j)>b(i)
b(i)=R(i,j)
end
end
end
Zadanie 3
Zapisz poniżej polecenia, które utworzą macierz A o wymiarze 10x10, wypełniając ja ponad przekątna główna losowo wybranymi liczbami z przedziału [0,5], na przekątnej głównej samymi jedynkami, zaś pod przekątna główna siódemkami. Następnie, wykorzystując funkcje; SciLaba lu() znajda rozkład trójkątny A=LU, oraz utworzą wektor kolumnowy b którego i-ty element bedzie srednia z elementów i-tego wiersza macierzy U
A=5*rand(10,10)
[n,n]=size(A)
for j=1:n
for i=1:n
if i==j then
A(i,j)=1
else
A(i,j)=7
end
end
end
[L,U]=lu(A)
b=zeros(10,1)
for i=1:n
b(i,1)=0.1*sum(A(i,:))
end
disp(A)
disp(U)
disp(b)
Zadanie 4
// 4.1 macierz górna, ale nad druga przekątna
A=zeros(10,10)
[n,n]=size(A)
for i=1:n
for j=1:n
if i+j<=n then
A(i,j)=round(100*rand())
elseif i+j=n+1 then
A(i,j)=1
else
A(i,j)=0
end
end
end
// 4.2 dolna pod druga przekątna
A=zeros(10,10)
[n,n]=size(A)
for i=1:n
for j=1:n
if i+j<=n then
A(i,j)=round(100*rand())
elseif i+j=n+1 then
A(i,j)=1
else
A(i,j)=0
end
end
end
//4.3 macierz dolaotrojkatna
C=zeros(10,10)
[n,n]=size(C)
for i=1:n
for j=1:n
if i==j then
C(i,j)=1
else
C(i,j)=round(100*rand())
end
end
end
//4.4 macierz gornotrojkatna
D=zeros(10,10)
[n,n]=size(D)
for i=1:n
for j=1:n
if i==j then
D(i,j)=1
else
D(i,j)=round(100*rand())
end
end
end
Zadanie 5
Wygeneruj macierz A o wymiarze 10x10, wypełniając ją jedynkami poza przekątną główną, wartośi współczynników przekątnej głównej równe są numerom wierszy.//
// Wygeneruj wektor b wypełniając go losowymi liczbami z przedziału [0,10]. Rozwiąż układ równań Ax=b wykorzystując funkcję SciLaba linsolve()//
//tworzenie macierzy A
A=ones(10,10)
for i=1:10
A(i,i)=i
end
//generowanie wektora b
b=10*rand(10,1)
//rozwiazanie ukladu rownan Ax=b
x=linsolve(A,-b)
disp(x)
Zadanie 6
Zbuduj skrypt generujący macierz 20x20: wypełnij ją losowymi liczbami z przedziału [-10,10] o dokładności 2 miejsc po przecinku, kolumnę o największej ilości liczb
// większych os zera wypełnij jedynkami natomiast wiersz o największej liczbie wyrazów mniejszych od 0 wypełnij 1 (jesli kolumn lub wierszy jest wiecej wybierz pierwsze z nich)
//generowanie macierzy A
A=round(20*rand(20,20)-10)
Zadanie 7
1.Napisac program który wypełni macierz nxn w taki sposób, że wartości macierzy o indeksach i,j będą rowne sumie indeksów i+j.
1a.
Napisz program, który w miejscach gdzie suma indeksow macierzy jest podzielna przez dwa (bez reszty wpisuje 0) a w pozostałych miejscach 1.
1b.
Program umozliwaiajacy wpisanie wierzcholkow kwadratu a nastepnie obliczajac obwod i pole tej figury.
A=10*rand(n,n)
for i=1:n
for j=1:n
A[i,j]=i+j
end
end
n=9
A=ones(n,n)
for i=1:n
for j=1:n
if modulo((i+j),2)==0,
A(i,j)=0
end
end
end
function[obwod,pole]=kwadrat(x1,x2,y1,y2)
d=sqrt((x1-x2)^2+(y1-y2)^2)
obwod=4*d;
pole=d^2;
endfunction
Zadanie 8
Wygeneruj macierz A o wymiarze 10x10, wypełniając ją jedynkami poza przekątną główną, wartośi współczynników przekątnej głównej równe są numerom wierszy.//
// Wygeneruj wektor b wypełniając go losowymi liczbami z przedziału [0,10]. Rozwiąż układ równań Ax=b wykorzystując funkcję SciLaba linsolve()//
//tworzenie macierzy A
A=ones(10,10)
for i=1:10
A(i,i)=i
end
//generowanie wektora b
b=10*rand(10,1)
//rozwiazanie ukladu rownan Ax=b
x=linsolve(A,-b)
disp(x)
Zadanie 9
Zbuduj skrypt generujący macierz 20x20: wypełnij ją losowymi liczbami z przedziału [-10,10] o dokładności 2 miejsc po przecinku, kolumnę o największej ilości liczb
// większych os zera wypełnij jedynkami natomiast wiersz o największej liczbie wyrazów mniejszych od 0 wypełnij 1 (jesli kolumn lub wierszy jest wiecej wybierz pierwsze z nich)
//generowanie macierzy A
A=round(20*rand(20,20)-10)
Zadanie 10
Wczytaj ze sformatowanego pliku tekstowego macierz, zaprogramuj skrypt który obróci wytyczoną macierz względem:
// 1. jednej z przekątnych
// 2. srodkowego wiersza
// 3. srodkowej kolumny
//odbicie względem przekątnej
B=ones(5,5)
A=[1 2 3 4 5; 6 7 8 9 10; 10 11 12 13 14;15 16 17 18 19;20 21 22 23 24 ]
for i=1:5
for j=1:5
B(j,i)=A(i,j)
end
end
//odbicie wzgledem srodkowego wiersza
A=int(10*rand(10,10))
B=zeros(10,10)
[n,n]=size(A)
size(B)==size(A)
for i=1:n
for j=1:n
B(n+1-i,j)=A(i,j)
end
end
//odbicie wzglegem srodkowej kolumny
C=zeros(10,10)
[n,n]=size(A)
size(C)==size(A)
for i=1:n
for j=1:n
C(i,n+1-j)=A(i,j)
Zadanie 11
Zapisz poniżej polecenia, które utworzą macierz trójkątna goma A o wymiarze 10x10, wypełniając ja losowo wybranymi cyframi, następnie wypełnij przekątna glowną jedynkami,
// Następnie, Rozwiązują układ równań Ax=b wykorzystujac funkcje SciLaba linśolve()biorac jako wektor b kolejne liczby nanjralne 1,2,3,...,10,
A=zeros(10,10)
for i=1:10
for j=1:10
if i==j
A(i,j)=1
else
A(i,j)=round(10*rand())
end
end
end
b=[1:10]'
x=linsolve(A,-b)
Zadanie 12
Zapisz poniżej polecenia, które utworzą macierz A o wymiarze 10x10 wypełniając ja poza przekątna główna losowymi liczbami zprzedzialu [0,1], zaś na przekątnej głównej
// losowymi liczbami z przedziału [5,10] Następnie, wykorzystując funkcje SciLaba cholQ, znajda rozkład Cholesky'ego A-R/R, oraz utworzą wektor kolumnowy b którego i-ty
// element będzie największym elementem i-tego wiersza macierzy R.
A=zeros(10,10)
for i=1:10
for j=1:10
if i==j
A(i,j)=5*rand()+5
else
A(i,j)=rand()
end
end
end
R=chol(A)
b=zeros(10,1)
for i=1:10
for j=1:10
if R(i,j)>b(i)
b(i)=R(i,j)
end
end
end
Zadanie 13
Zapisz poniżej polecenia, które utworzą macierz A o wymiarze 10x10, wypełniając ja ponad przekątna główna losowo wybranymi liczbami z przedziału [0,5],
// na przekątnej głównej samymi jedynkami, zaś pod przekątna główna siódemkami.
// Następnie, wykorzystując funkcje; SciLaba lu() znajda rozkład trójkątny A=LU, oraz utworzą wektor kolumnowy b którego i-ty element bedzie srednia z elementów .
// i-tego wiersza macierzy U
A=5*rand(10,10)
[n,n]=size(A)
for j=1:n
for i=1:n
if i==j then
A(i,j)=1
else
A(i,j)=7
end
end
end
[L,U]=lu(A)
b=zeros(10,1)
for i=1:n
b(i,1)=0.1*sum(A(i,:))
end
disp(A)
disp(U)
disp(b)
Zadanie 14
14.1 macierz górna, ale nad druga przekątna
A=zeros(10,10)
[n,n]=size(A)
for i=1:n
for j=1:n
if i+j<=n then
A(i,j)=round(100*rand())
elseif i+j=n+1 then
A(i,j)=1
else
A(i,j)=0
end
end
end
14.2 dolna pod druga przekątna
A=zeros(10,10)
[n,n]=size(A)
for i=1:n
for j=1:n
if i+j<=n then
A(i,j)=round(100*rand())
elseif i+j=n+1 then
A(i,j)=1
else
A(i,j)=0
end
end
end
14.3 macierz dolaotrojkatna
C=zeros(10,10)
[n,n]=size(C)
for i=1:n
for j=1:n
if i==j then
C(i,j)=1
else
C(i,j)=round(100*rand())
end
end
end
14.4 macierz gornotrojkatna
D=zeros(10,10)
[n,n]=size(D)
for i=1:n
for j=1:n
if i==j then
D(i,j)=1
else
D(i,j)=round(100*rand())
end
end
end
Zadanie 15
Zapisz ponizej polecenia, ktore utworza macierz A o wymiarze 10x10,
// wypelniajac ja losowo wybranymi liczbami z przedzialu [0,1], znajda kolumne w ktorej
// znajduje sie element macierzy o najwiekszej wartosci bezwzglednej, podstawia ta
// kolumne pod zmienna b bedaca wektorem kolumnowym, natomiast w miejsce wybranej
// kolumny w macierzy A wpisza same jedynki.
// Nastepnie, wykorzystujac funkcjĂŞ SciLaba linsolve(), rozwiaza uklad rownan Ax=b
A=10*rand(10,1)
for i =1:10
A(i,i)=i
end
Zadanie 16
Zapisz ponizej polecenia, ktore utworza macierz A o wymiarze 10x10,
// wypelniajac ja losowo wybranymi liczbami z przedzialu [-1,1], elementy
// przekatnej glownej wypelnia wartosciami bedacymi suma indeksow (a_ij:=i+j),
// oraz rozwiaza uklad rĂłwnan Ax=b wykorzystujac funkcje SciLaba linsolve(),
// przyjmujac jako wektor b= [5,5,...,5].
A=rand(10,10)*2-1;
for i=1:10
A(i,i)=2*i;
b(i,1)=5;
end
x=linsolve(A,-b);
disp(x);
Zadanie 17
Zapisz ponizej polecenia, ktore utworza macierz A o wymiarze 10x10,
// wypelniajac ja losowo wybranymi liczbami z przedzialu [-1,1], elementy
// przekatnej glownej wypelnia wartosciami bedacymi suma indeksow (a_ij:=i+j),
// oraz rozwiaza uklad rĂłwnan Ax=b wykorzystujac funkcje SciLaba linsolve(),
// przyjmujac jako wektor b= [5,5,...,5].
A=zeros(10,10)
for i=1:10
for j=1:10
if i==j
A(i,j)=i+j
else
A(i,j)=1-2*rand()
end
end
end
Zadanie 18
Zapisz ponizej polecenia, ktore utworza macierz A o wymiarze 10x10,
wypelniajac jej gorny trojkat losowo wybranymi liczbami z przedzialu [0,5], pozostala
czesc macierzy, wraz z elementami przekatnej glownej wypelnia jedynkami,
oraz rozwiaza uklad rĂłwnan Ax=b wykorzystujac funkcje SciLaba linsolve(),
przyjmujac jako wektor b - wektor samych jedynek.
A=zeros(10,10)
for i=1:10
for j=1:10
if i<j
A(i,j)=round(5*rand())
else A(i,j)=1
end
end
end
b=[ones(1,10)]'
x=linsolve(A,-b)
Zadanie 19
Zapisz ponizej polecenia, ktore utworza macierz A o wymiarze 10x10,
wypelniajac ja losowo wybranymi liczbami z przedzialu [-1,1], elementy
przekatnej glownej wypelnia wartosciami bedacymi suma indeksow (a_ij:=i+j),
oraz rozwiaza uklad rĂłwnan Ax=b wykorzystujac funkcje SciLaba linsolve(),
przyjmujac jako wektor b= [5,5,...,5].
A=zeros(10,10)
for i=1:10
for j=1:10
if i==j
A(i,j)=i+j
else
A(i,j)=1-2*rand()
end
end
end
Zadanie 20
Zapisz funkcje o nazwie "sieczne(x0,x1,f)" ktora oblicza przyblizone rozwiazanie rownania f(x)=0 wykorzystujac algorytm metody siecznych (patrz prezentacja Laboratorium nr 2) wykonujac 10 iteracji.
Punktami startowymi sa argumenty "x0,x1", funkcja argument "f"
function x =sieczne(x0,x1,f)
N=10
eps=1e-10
zb=10000
x=x1
N=0
while N<0 &abs(f(x1))>eps
N=N+1
x=x1-f(x1)*(x1-x0)/(f(x1)-f(x0))
fx=(fx)
x0=x1
x1=x
end
if N>zb
end
endfunction
Zadanie 21
Zapisz ponizej polecenia, ktore utworza macierz A o wymiarze 10x10,
wypelniajac ja poza przekatna glowna losowymi liczbami z przedzialu [0,1], zas
na przekatnej glownej losowymi liczbami z przedzialu [5,10]
Nastepnie, wykorzystujac funkcje SciLaba chol(), znajda rozklad Cholesky'ego A=R'R,
oraz utworza wektor kolumnowy b ktorego i-ty element bedzie najwiekszym elementem
i-tego wiersza macierzy R.
A=zeros(10,10)
for i=1:10
for j=1:10
if i==j
A(i,j)=10-5*rand()
else
A(i,j)=rand()
end
end
end
R=chol(A)
b=zeros(10,1)
for i=1:10
for j=1:10
if R(i,j)>b(i)
b(i)=R(i,j)
end
end
end
Zadanie 22
Macierz 10x10, i=i to 7 reszta A(i,j)=i+j, rozklad L,U,
//wektot kolumnowy b, wyrazy i-te to sumy z macierzy U
//i-tych wierszy
for i=1:10
for j=1:10
if i==j
A(i,j)=7
else
A(i,j)=i+j
end
end
[L,U]=lu(A)
b(i,1)=sum(U(i,:))
end