Skocz do zawartości


Octave


32 odpowiedzi w tym temacie

#1 Adamiakowa

    Nowy na forum

  • Użytkownicy
  • 2 Postów:

Napisano śro, 31 maj 2017 - 19:10

Czy składnia tego będzie działać też na starszych wersjach Octave'a?
octave
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 &#8721;(n=1,&#8734;) 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&#960;> 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 &#8721;(n=1,&#8734;) 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)


#2 tenmetalsatanista

    Nowy na forum

  • Użytkownicy
  • 3 Postów:

Napisano śro, 31 maj 2017 - 19:23

Niestety dziś już nie mam czasu, sprawdzę jutro z rana ok? :)

#3 atakujacy

    Nowy na forum

  • Użytkownicy
  • 4 Postów:

Napisano czw, 01 cze 2017 - 06:22

Wydaje mi się, że tak ale musiałbym sprawdzić żeby mieć pewność.

#4 atakujacy

    Nowy na forum

  • Użytkownicy
  • 4 Postów:

Napisano czw, 01 cze 2017 - 07:34

disp("Zadanie 1")
x1=[-5:0];
x2=[0:5];
y1=cos(x1.*x1);
y2=1./(x2+1);
plot(x1,y1,'r',x2,y2,'b')

#5 axds

    Nowy na forum

  • Użytkownicy
  • 2 Postów:

Napisano czw, 01 cze 2017 - 07:43

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

#6 Adamiakowa

    Nowy na forum

  • Użytkownicy
  • 2 Postów:

Napisano czw, 01 cze 2017 - 07:48

"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

#7 andrzeju56

    Nowy na forum

  • Użytkownicy
  • 10 Postów:

Napisano czw, 01 cze 2017 - 07:50

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

#8 andrzeju56

    Nowy na forum

  • Użytkownicy
  • 10 Postów:

Napisano czw, 01 cze 2017 - 07:50

indeks w 2 czerwony 97 ?

#9 tenmetalsatanista

    Nowy na forum

  • Użytkownicy
  • 3 Postów:

Napisano czw, 01 cze 2017 - 07:56

ktoś ma całkę metodą trapezów?
gr czerwona

#10 tenmetalsatanista

    Nowy na forum

  • Użytkownicy
  • 3 Postów:

Napisano czw, 01 cze 2017 - 07:58

MICHAU POMUSZ

#11 andrzeju56

    Nowy na forum

  • Użytkownicy
  • 10 Postów:

Napisano czw, 01 cze 2017 - 07:58

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

#12 andrzeju56

    Nowy na forum

  • Użytkownicy
  • 10 Postów:

Napisano czw, 01 cze 2017 - 07:59

main
disp('Zadanie 4')
y=trapezy(2,10,12,'fun1')

fun1

function [y] = fun1 (x)
y=sin(4*x) /x;
endfunction

#13 atakujacy

    Nowy na forum

  • Użytkownicy
  • 4 Postów:

Napisano czw, 01 cze 2017 - 08:02

a wywolanie tej 4?

#14 axds

    Nowy na forum

  • Użytkownicy
  • 2 Postów:

Napisano czw, 01 cze 2017 - 08:04

ma ktoś 3 z czarnej grupy?

#15 Puzio

    Nowy na forum

  • Użytkownicy
  • 1 Postów:

Napisano czw, 01 cze 2017 - 08:06

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

#16 maxxam97

    Nowy na forum

  • Użytkownicy
  • 1 Postów:

Napisano czw, 01 cze 2017 - 09:39

sprawdz to
mam nadzieje, ze pomoglem

http://marbor.strony...0b-mtlb_oct.pdf
http://dydmat.mimuw....tawy#fig:wyksin

#17 nieznajomy

    Nowy na forum

  • Użytkownicy
  • 3 Postów:

Napisano śro, 07 cze 2017 - 19:37

1

#18 PawelekAKAkurt_cobain

    Nowy na forum

  • Użytkownicy
  • 2 Postów:

Napisano śro, 07 cze 2017 - 21:42

:)

#19 PetChodnikowy

    Nowy na forum

  • Użytkownicy
  • 1 Postów:

Napisano śro, 07 cze 2017 - 21:44

Nie zdążyłem sprawdzić wszystkich programów, bo są nieco pomieszane, ale na mojej długo nieaktualizowanej wersji octave'a działają

#20 PawelekAKAkurt_cobain

    Nowy na forum

  • Użytkownicy
  • 2 Postów:

Napisano śro, 07 cze 2017 - 21:50

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ć? :wacko: