macierz, METODY OBLICZENIOWE


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



Wyszukiwarka

Podobne podstrony:
3 ANALITYCZNE METODY OBLICZANIA PŁYWÓW
Metody obliczeniowe
2008 Metody obliczeniowe 08 D 2008 11 11 21 31 58
Metody Obliczeniowe 2
bryły, METODY OBLICZENIOWE
moo-zadania, Elektrotechnika, Metody obliczeniowe optymalizacji, ćwiczenia
Metody Obliczeniowe HM
METODY OBLICZENIOWE
11 Konstrukcje murowe, rodzaje i metody obliczen
Macierze, Metody hodowlane
Polecenia metody obliczeniowe
07 02 2016 Metody obliczeniowe
dachy Metodyka obliczeń izolacyjności cieplnej dachów, określanie ryzyka kondensacji pary wodnej
METODY OBLICZE CIEPLNYCH PRZEGR D BUDOWLANYCH
METODY OBLICZEŃ CIEPLNYCH PRZEGRÓD BUDOWLANYCH
sprawko moo1, Automatyka i Robotyka, Semestr III, Metody Obliczeniowe Optymalizacji, Gotowce, labki
sprawko nowe, Automatyka i Robotyka, Semestr III, Metody Obliczeniowe Optymalizacji, Gotowce, labki
Wykład 5 Komputerowe metody obliczania rozpływów mocy w sieciach zamkniętych

więcej podobnych podstron