Adamiakowa Posted May 31, 2017 Report Share Posted May 31, 2017 Czy składnia tego będzie działać też na starszych wersjach Octave'a? Zad 1 Utworzyć tablicę przechowującą sumy cząstkowe szeregu ∑(n=1,10) n. % Zad 1 disp("# Zad 1") A = []; s = 0; for i = 1:10 s = s + i; A(i) = s; end wynik = A Zad 2 Rozwiązać układ równań: x1 +2x2 -x3 +3x4 = 7 -3x1 + x2 + x4 = 0 2x1 + x2 +x3 = 7 x1 - x2 +x3 + x4 = 1 % Zad 2 disp("# Zad 2") R = [1 2 -1 3 -3 1 0 1 2 1 1 0 1 -1 1 1]; W = [7; 0; 7; 1]; wynik = R\W Zad 3 Przy pomocy wbudowanej funkcji quad obliczyć całkę ∫(1,2) sin(x)+x z dokładnością do 3 miejsca po przecinku. % Zad 3 disp("# Zad 3") xp = 1; xk = 2; tol = 3; wynik = quad('fun1', xp, xk, tol) %xp, xk przedziały całkowania %tol dokładność Do tego oddzielna funkcja: function [y] = fun1(x) y = sin(x) + x; endfunction Zad 4 Napisać funkcję liczącą silnię liczby naturalnej n, korzystając z definicji silni i wywołać ją dla dowolnego n. % Zad 4 disp("# Zad 4") n = 6 wynik = silnia(n) Do tego oddzielna funkcja: function [k] = silnia(n) k = 1; for i = 1:n k = k * i; end endfunction main % Zestaw 1 % Zad 1 disp("# Zad 1") A = []; s = 0; for i = 1:10 s = s + i; A(i) = s; end wynik = A % Zad 2 disp("# Zad 2") R = [1 2 -1 3 -3 1 0 1 2 1 1 0 1 -1 1 1]; W = [7; 0; 7; 1]; wynik = R\W % Zad 3 disp("# Zad 3") xp = 1; xk = 2; tol =3; wynik = quad('fun1', 1, 2, 2) %xp, xk przedziały całkowania %tol dokładność % Zad 4 disp("# Zad 4") n = 6 wynik = silnia(n) do tego oddzielnie funkcja fun1(x) oraz silnia(n) %Obliczanie funkcji function k = fun1(x) k = (x.^3 + x.^2 - 3.*x - 3) ; endfunction %porównywanie function k = porownaj (a,b) if(a<b) k=-1; elseif(a>b) k=1; else k=0; end endfunction %macierz randomowa function s = macierz (n) A = round(10*rand(n)) suma = 0; k = 1; while (k <= n) suma = suma + A(k,k); k = k + 1; endwhile s = suma; endfunction Zad 1 Dla macierzy A = [1 2 3; 1 0 2] i dowolnie stworzonych przez siebie macierzy B i C wykonać: a) mnożenie tablicowe macierzy A i B, b) mnożenie macierzowe macierzy A i C. % Zad 1 disp("# Zad 1") A = [1 2 3; 1 0 2]; B = [2 4 5; 2 1 5]; C = [2 4; 5 3; 9 3]; disp("# a") wynik = A .* B disp("# b"); wynik = A * C Zad 2 Dla szeregu ∑(n=1,∞) 1/n*sqrt(n) podać indeks liczby, której suma cząstkowa jest mniejsza od 0.001. % Zad 2 disp("# Zad 2") x = 1; s = 0; m = 0.001; i = 0; while(x >= m) i = i + 1; x = 1 / (i * sqrt(i)); s = s + x; end indeks = i wynik = s Zad 3 Narysować wykres funkcji f(x)=sin(x)+cos(2x) w przedziale <0,8π> zielonymi gwiazdkami. % Zad 3 disp("# Zad 3") x = 0:0.1:8*pi; y = sin(x) + cos(2*x); plot(x,y,'g*'); title("sin(x)+cos(2x)"); xlabel('x'); ylabel('y'); Zad 4 Napisać funkcję obliczającą ciąg Fibonacciego i wywołać ją dla n = 20. % Zad 4 disp("# Zad 4") n = 20 wynik = fib(n) Do tego oddzielna funkcja: function [f] = fib(n) if(n <= 0) f = 0; elseif(n == 1) f = 1; else f = fib(n-1) + fib(n-2); end endfunction main % Zestaw 2 % Zad 1 disp("# Zad 1") A = [1 2 3; 1 0 2]; B = [2 4 5; 2 1 5]; C = [2 4; 5 3; 9 3]; disp("# a") wynik = A .* B disp("# b"); wynik = A * C % Zad 2 disp("# Zad 2") x = 1; s = 0; m = 0.001; i = 0; while(x >= m) i = i + 1; x = 1 / (i * sqrt(i)); s = s + x; end indeks = i wynik = s % Zad 3 disp("# Zad 3") x = 0:0.1:8*pi; y = sin(x) + cos(2*x); plot(x,y,'g*'); title("sin(x)+cos(2x)"); xlabel('x'); ylabel('y'); % Zad 4 disp("# Zad 4") n = 20 wynik = fib(n) do tego oddzielnie funkcja fib(n) Zad 1 Wykonać mnożenie tablicowe podanych macierzy: A = [1 2 3; 1 0 1], B = [2 1 2; 0 2 3]. % Zad 1 disp("# Zad 1") A = [1 2 3; 1 0 1]; B = [2 1 2; 0 2 3]; wynik = A .* B Zad 2 Dla szeregu ∑(n=1,∞) 1/n podać indeks liczby, kiedy suma cząstkowa przekroczy liczbę 5. % Zad 2 disp("# Zad 2") x = 1; s = 0; m = 5; i = 0; while(s < m) i = i + 1; x = 1 / i; s = s + x; end indeks = i wynik = s Zad 3 Narysować niebieską linią wykres wielomianu interpolacyjnego trzeciego stopnia przechodzącego przez punkty (0,0),(1,1),(2,0) zaznaczone czerwonymi okręgami. % Zad 3 disp("# Zad 3") x0 = [0 1 2]; y0 = [0 1 0]; w = 3; p = polyfit(x0,y0,w) x = -3:0.1:3; y = polyval(p,x); plot(x0,y0,'ro',x,y,'b'); title("Interpolacja 3 stopnia"); xlabel('x'); ylabel('y'); Zad 4 Napisać funkcję szukającą litery w podanym ciągu znaków i wywołać ją dla poniższych argumentów: L = "Teraz masz zdac", z = 'c'. % Zad 4 disp("# Zad 4") L = "Teraz masz zdac"; z = 'c'; wynik = szukaj(L,z) Do tego oddzielna funkcja: function k = szukaj(L,z) k = 0; s = size(L); s = s(2); for i = 1:s if L(i) == z k = i; break; end end endfunction main % Zestaw 3 % Zad 1 disp("# Zad 1") A = [1 2 3; 1 0 1]; B = [2 1 2; 0 2 3]; wynik = A .* B % Zad 2 disp("# Zad 2") x = 1; s = 0; m = 5; i = 0; while(s < m) i = i + 1; x = 1 / i; s = s + x; end indeks = i wynik = s % Zad 3 disp("# Zad 3") x0 = [0 1 2]; y0 = [0 1 0]; w = 3; p = polyfit(x0,y0,w) x = -3:0.1:3; y = polyval(p,x); %plot(x0,y0,'ro',x,y,'b'); %title("Interpolacja 3 stopnia"); %xlabel('x'); %ylabel('y'); % Zad 4 disp("# Zad 4") L = "Teraz masz zdac"; z = 'c'; wynik = szukaj(L,z) do tego oddzielnie funkcja szukaj(L,z) Zad 1 Zdefiniować poniższe macierze: A = [1 1 1; 1 1 1], B = [2; 2], C = [3 3 3 3], Złożyć macierz D z podanych powyżej macierzy w taki sposób, aby wyglądała następująco: │ 1 1 1 2 │ D = │ 1 1 1 2 │ │ 3 3 3 3 │ % Zad 1 disp("# Zad 1") A = [1 1 1; 1 1 1]; B = [2; 2]; C = [3 3 3 3]; D = [A, B; C]; wynik = D Zad 2 Usunąć drugi wiersz macierzy D. % Zad 2 disp("# Zad 2") D(2, = []; wynik = D Zad 3 Funkcja przyjmuje poniższe wartości: y = {3*x^2 dla x < 0 {40*sqrt(x) dla x >= 0 Narysować czerwoną linią wykres tej funkcji w przedziale <-9,0> z krokiem 0.5 oraz <1,15> z krokiem 1. % Zad 3 disp("# Zad 3") x = [[-9:0.5:0],[1:15]]; y = fun1(x); figure(1); plot(x,y,'r'); title("Fun1"); xlabel('x'); ylabel('y'); Do tego oddzielna funkcja: function [y] = fun1(x) s = size(x); s = s(2); for i = 1:s if x(i) < 0 y(i) = 3 * x(i)^2; else y(i) = 40 * sqrt(x(i)); end end endfunction Zad 4 Napisać funkcję, która rysuje na wykresie czarnymi gwiazdkami choinkę, w zależności od ilości wierszy. Przykład dla n = 5: * * * * * * * * * * * * * * * % Zad 4 disp("# Zad 4") n = 5 figure(2); choinka(n) Do tego oddzielna funkcja: function choinka(n) if n > 0 x = []; y = []; k = 0; for i = 1:n for j = 1:i k = k + 1; x(k) = -j; y(k) = i; end end plot(x,y,'k*'); axis([-(n+1) 0 0 n+1]); title("Choinka"); end endfunction main % Zestaw 4 % Zad 1 disp("# Zad 1") A = [1 1 1; 1 1 1]; B = [2; 2]; C = [3 3 3 3]; D = [A, B; C]; wynik = D % Zad 2 disp("# Zad 2") D(2, = []; wynik = D % Zad 3 disp("# Zad 3") x = [[-9:0.5:0],[1:15]]; y = fun1(x); figure(1); plot(x,y,'r'); title("Fun1"); xlabel('x'); ylabel('y'); do tego oddzielnie funkcja fun1(x) % Zad 4 disp("# Zad 4") n = 5 figure(2); choinka(n) do tego oddzielnie funkcja choinka(n) Link to comment Share on other sites More sharing options...
tenmetalsatanista Posted May 31, 2017 Report Share Posted May 31, 2017 Niestety dziś już nie mam czasu, sprawdzę jutro z rana ok? Link to comment Share on other sites More sharing options...
atakujacy Posted June 1, 2017 Report Share Posted June 1, 2017 Wydaje mi się, że tak ale musiałbym sprawdzić żeby mieć pewność. Link to comment Share on other sites More sharing options...
atakujacy Posted June 1, 2017 Report Share Posted June 1, 2017 disp("Zadanie 1") x1=[-5:0]; x2=[0:5]; y1=cos(x1.*x1); y2=1./(x2+1); plot(x1,y1,'r',x2,y2,'b') Link to comment Share on other sites More sharing options...
axds Posted June 1, 2017 Report Share Posted June 1, 2017 disp("Zadanie 2") s=0; i=0; m=0.01; x=1; while(x>=m) i=i+1; x=1/(i^2-(1/2)); s=s+x; endwhile i s Link to comment Share on other sites More sharing options...
Adamiakowa Posted June 1, 2017 Author Report Share Posted June 1, 2017 "main.m" x = 1; s = 0; m = 0.01; i = 0; while(x > m) i = i + 1; x = 1 / (i^2-0.5); s = s + x; end indeks=i y=@(x) 2*sin(4*x); xp = -1; xk = 5; tol = 5; wynik = quad(y, xp, xk, tol) x = [-2:0.1:2]; [y] = fun1(x); figure(1); plot(x,y,'r'); i osobna "fun1" function [y] = fun1(x) s = size(x); s = s(2); for i = 1:s if x(i) < 0 y(i) = sin(x(i)^5); else y(i) = x(i)^3-sqrt(x(i)); end end endfunction Link to comment Share on other sites More sharing options...
andrzeju56 Posted June 1, 2017 Report Share Posted June 1, 2017 suma = 0; sc = 0; n=1; while suma<=3 sc=((n+1)/((2.*n.*n)+1)); suma = suma+sc; n=n+1; endwhile n; suma; suma=0; n =1; sc=0; while n!=97 sc=((n+1)/((2.*n.*n)+1)); suma = suma+sc; n=n+1; endwhile n suma Link to comment Share on other sites More sharing options...
andrzeju56 Posted June 1, 2017 Report Share Posted June 1, 2017 indeks w 2 czerwony 97 ? Link to comment Share on other sites More sharing options...
tenmetalsatanista Posted June 1, 2017 Report Share Posted June 1, 2017 ktoś ma całkę metodą trapezów? gr czerwona Link to comment Share on other sites More sharing options...
tenmetalsatanista Posted June 1, 2017 Report Share Posted June 1, 2017 MICHAU POMUSZ Link to comment Share on other sites More sharing options...
andrzeju56 Posted June 1, 2017 Report Share Posted June 1, 2017 Zadanie 4 funkcja function [y] = trapezy (a,b,n,f) h = (b - a)/n; y = (feval(f,a) + feval(f,b))/2; for i = 1 : n-1 y = y + feval(f,a+i*h); end y = h*y; endfunction Link to comment Share on other sites More sharing options...
andrzeju56 Posted June 1, 2017 Report Share Posted June 1, 2017 main disp('Zadanie 4') y=trapezy(2,10,12,'fun1') fun1 function [y] = fun1 (x) y=sin(4*x) /x; endfunction Link to comment Share on other sites More sharing options...
atakujacy Posted June 1, 2017 Report Share Posted June 1, 2017 a wywolanie tej 4? Link to comment Share on other sites More sharing options...
axds Posted June 1, 2017 Report Share Posted June 1, 2017 ma ktoś 3 z czarnej grupy? Link to comment Share on other sites More sharing options...
Puzio Posted June 1, 2017 Report Share Posted June 1, 2017 3 z czarnej ii=1 jj=1 suma=0 [w,s]=size(x) while ii<=w while jj<=w suma=suma+x(ii,jj) jj++ endwhile jj=ii+1 ii++ endwhile tylko dodac naglowek funkcji Link to comment Share on other sites More sharing options...
maxxam97 Posted June 1, 2017 Report Share Posted June 1, 2017 sprawdz to mam nadzieje, ze pomoglem http://marbor.strony.prz.edu.pl/download/MN/lab/Lab0b-mtlb_oct.pdf http://dydmat.mimuw.edu.pl/matematyka-obliczeniowa/octave-podstawy#fig:wyksin Link to comment Share on other sites More sharing options...
nieznajomy Posted June 7, 2017 Report Share Posted June 7, 2017 1 Link to comment Share on other sites More sharing options...
PawelekAKAkurt_cobain Posted June 7, 2017 Report Share Posted June 7, 2017 Link to comment Share on other sites More sharing options...
PetChodnikowy Posted June 7, 2017 Report Share Posted June 7, 2017 Nie zdążyłem sprawdzić wszystkich programów, bo są nieco pomieszane, ale na mojej długo nieaktualizowanej wersji octave'a działają Link to comment Share on other sites More sharing options...
PawelekAKAkurt_cobain Posted June 7, 2017 Report Share Posted June 7, 2017 Niestety moja wersja ma jakieś błędy. Ciąglę wyświetla tylko ERROR:CODE:$M3LL$-L1K3-733N-$P1R17//2137:911//?/-.. Ktoś wie jak temu zaradzić? Link to comment Share on other sites More sharing options...
andrzeju56 Posted June 8, 2017 Report Share Posted June 8, 2017 czerwoni jak cos macie to wrzucac tutaj Link to comment Share on other sites More sharing options...
Piotrek12321 Posted June 8, 2017 Report Share Posted June 8, 2017 lol Link to comment Share on other sites More sharing options...
andrzeju56 Posted June 8, 2017 Report Share Posted June 8, 2017 czerwoni pierwsze zad dziala komus porpawnie? Link to comment Share on other sites More sharing options...
nieznajomy Posted June 8, 2017 Report Share Posted June 8, 2017 . Link to comment Share on other sites More sharing options...
nieznajomy Posted June 8, 2017 Report Share Posted June 8, 2017 . Link to comment Share on other sites More sharing options...
Recommended Posts
Archived
This topic is now archived and is closed to further replies.