Nevíte-li si rady s jakýmkoliv matematickým problémem, toto místo je pro vás jako dělané.
Nástěnka
❗22. 8. 2021 (L) Přecházíme zpět na doménu forum.matweb.cz!
❗04.11.2016 (Jel.) Čtete, prosím, před vložení dotazu, děkuji!
❗23.10.2013 (Jel.) Zkuste před zadáním dotazu použít některý z online-nástrojů, konzultovat použití můžete v sekci CAS.
Nejste přihlášen(a). Přihlásit
Opět programování v maplu,nevychází mi to..
Co tam dělám špatně, jak to má být?
Zadání:Napište proceduru,která má na vstupu tři vektory a určí,jestli jsou lineárně nezávislé. Moc děkuji.
>soucet:=proc(u,v,w):
> u:=[x,z,y];
> v:=[d,e,f];
> w:=[k,l,m];
> if (a*u+b*v+c*w<>(0) then print ("nezávislé");
> else print ("závislé");
> end if;
> end proc;
>u:=[2,5,3];
>v:=[4,10,6];
> w:=[8,20,12];
> soucet(u,v,w);
Offline
Z vektorů udělej matici a vypočítej determinant (funkce det(matice)), když bude 0, budou závislé, když ne nezávislé. Nebo spočítej hodnost matice (funkce rank(matice)), když bude rovna třem jsou vektory LN jinak LZ. Na začátek musíš přidat with(linalg);
Offline
↑ gladiator01:
A jak tam určit že se jedná o tři vektory? Nedaří se mi to dát dohromady..:-(
>with (LinearAlgebra);
>A:=matrix(3,3,[x,y,z,d,e,f,k,l,m]);
[x y z]
[ ]
A := [d e f]
[ ]
[k l m]
> rank(A);
rank(A)
> sc:=proc(x,y,z,d,e,f,k,l,m):
> if det(A)=3 then print ("nezávislé");
> else print ("závislé");
> end if;
> end proc;
> sl(matrix(3,3,[2,5,3,4,10,6,4,20,12]));
Offline
↑ Pájka:
Prosím tě měli jste algebru (alespoň v rámci jiné MAT)? Píšeš úplné blbosti.
Z vektorů udělej matici:
obecně: matrix([[a,b,c],[d,e,f],[g,h,i]]);
ty máš ty tři vektory už zadané, tak napíšeš: m:=matrix([u, v, w]);
a potom jsou dvě možnosti:
1. vypočítej determinant , když bude 0, budou závislé, když ne nezávislé. - funkce det(m);
2. Nebo spočítej hodnost matice, když bude rovna 3 jsou vektory LN jinak LZ. - funkce rank(m);
Na začátek musíš přidat with(linalg);
Kód tedy bude takto:
with(linalg): soucet:=proc(u,v,w); local m; m:= matrix([u,v,w]); # tři řádky # tvého výpočtu (resp. kódu, výpočet jen jedna funkce), # který dopíšeš a umístíš sem pro kontrolu end proc; u:=[2,5,3]; v:=[4,10,6]; w:=[8,20,12]; soucet(u,v,w);
Offline