Matematické Fórum

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

#1 20. 05. 2015 19:29

Seidloza
Zelenáč
Příspěvky: 1
Škola: Technická univerzita v Liberci
Pozice: student
Reputace:   
 

Řešení diferecniální rovnice metodou sítí v matlabu

Dobrý den,

potřeboval bych poradit s řešením rovnice u′′ + xu - u = -x^2 - 2 na  intervalu (0; 1) , kde u (0) = u (1) = 0, pomocí metody sítí v matlabu. V matlabu jsem úplný začátečník

Zatím jsem byl schopen dát dohromady toto:

function [ x,u] = Metoda_siti( h )

syms x y
n=round(1/h);
x=0:h:1;
u(0)=0;
u(1)=0;
u=zeros(1,n-1);
b=zeros(n-1,1);
A=eye(n-1);

for i=1:n-1
   
    x(i)=h*i;
   
    A(i,i+1)=(u(i+1)/h^2)+u(i)*((-2/(h^2))+x(i)-1)+u(i-1)/(h^2);
    A(i+1,i)=(u(i+1)/h^2)+u(i)*((-2/(h^2))+x(i)-1)+u(i-1)/(h^2);
   
    b(i)=(-(x(i)^2))-2;
   
end

y=A\b;
u=[0,y',0];
plot(x,u)

end

takto napsané mi to píše chybu: Attempted to access u(0); index must be a positive integer or logical.

Zde jsem se zasekl a nevím co s tí dál. Prosím o radu.

Děkuji

Offline

  • (téma jako vyřešené označil(a) Seidloza)

Zápatí

Powered by PunBB
© Copyright 2002–2005 Rickard Andersson