pigoy Δημοσ. 29 Νοεμβρίου 2009 Δημοσ. 29 Νοεμβρίου 2009 παιδια γεια σας!θελω την βοηθεια σας!Εχω μια εργασια που πρεπει να την λυσω με την μεθοδο jacobi!οποιος σχετικος ας με βοηθησει οποιος σχετικος με το θεμα ευχαριστω`! Η ασκηση λεει function [x,iter]=jacobi(A,b,x0,eps) ως εισοδο δινουμε τον πινακα Α,το διανυσμα β,μια αρχικη εκτιμηση της λυσης x0 και την επιθυμητη ακριβεια eps και θα μας επιστρεφει την λυση x και τον αριθμο των επαναληψεων που απαιτηθηκαν iter. Εγω την ελυσα καπως ετσι: > function [x,iter]=jacobi(x0,A,b,eps) [m,n]=size(A); k=length(; norm=1; iter=0; if m~=n error('o pinakas den einai tetragonikos'); elseif k~=n error('oi grammes ou b den einai idies me tis grammes tou A'); end while norm>eps for i=1:n x(i)=b(i); for j=1:i-1 x(i)=x(i)-A(i,j)*x0(j); end for j=i+1:n x(i)=x(i)-A(i,j)*x0(j); end x(i)=x(i)*A(i,i); end norm=sqrt(sum((x-x0).^2)); iter=iter+1; x0=x; end Και δεν μπορω να βρω ακρη!οποια βοηθεια δεκτη!
Dr.Fuzzy Δημοσ. 30 Νοεμβρίου 2009 Δημοσ. 30 Νοεμβρίου 2009 Τα for-loops δεν χρειάζονται, γράφεις MATLAB και οχι C. Τι εννοείς δεν βγάζεις άκρη; Που είναι το πρόβλημα σου;
pigoy Δημοσ. 30 Νοεμβρίου 2009 Μέλος Δημοσ. 30 Νοεμβρίου 2009 Τα for-loops δεν χρειάζονται, γράφεις MATLAB και οχι C. Τι εννοείς δεν βγάζεις άκρη; Που είναι το πρόβλημα σου; Χρειαζονται τα for-loops!Απλα οταν την τρεχω μου βγαζει λαθος το οποιο λεει:attempted to access x0(2);index out of bounds because nume1(x0)=1! Εγω εδωσα διαφορες τιμες στο χ0 αλλα παλι τα ιδια!ΔΗλαδη πρεπει να την τρεξω καπως διαφορετικα?εγω την τρεχω ετσι: [x,iter]=jacobi(1,A,b,0.01) οπου Α,b τα εχω ορισει!
Dr.Fuzzy Δημοσ. 1 Δεκεμβρίου 2009 Δημοσ. 1 Δεκεμβρίου 2009 Χρειαζονται τα for-loops!Απλα οταν την τρεχω μου βγαζει λαθος το οποιο λεει:attempted to access x0(2);index out of bounds because nume1(x0)=1! Εγω εδωσα διαφορες τιμες στο χ0 αλλα παλι τα ιδια!ΔΗλαδη πρεπει να την τρεξω καπως διαφορετικα?εγω την τρεχω ετσι: [x,iter]=jacobi(1,A,b,0.01) οπου Α,b τα εχω ορισει! Ο κώδικας μπορεί να γραφεί χωρίς for-loops! Αν γράψεις MATLAB (και όχι σαν να γράφεις C) και κάνεις χρήση πινάκων δεν χρειάζονται τα for-loops!
Προτεινόμενες αναρτήσεις
Αρχειοθετημένο
Αυτό το θέμα έχει αρχειοθετηθεί και είναι κλειστό για περαιτέρω απαντήσεις.