Dr.Fuzzy Δημοσ. 21 Νοεμβρίου 2009 Δημοσ. 21 Νοεμβρίου 2009 Την διόρθωσα γιατί είχε πολλά λάθη, για την ακρίβεια δεν δούλευε! Ούτε καν το function prototype δεν ήταν ορισμένο σωστά. Επίσης τις διαστάσεις των πινάκων δεν χρειάζεται να τις περνάς μέσα στο function! Λοιπόν, > function S=maxProd(P,Q) m=size(P,1); q=size(Q,2); S=zeros(m,q); % allocate size for k=1:q tmp=P(:,k)*Q(k,; S=max(S,tmp); end και την καλείς ως maxProd(P,Q) Επίσης τα for loops τα χρησιμοποιούμε μόνο εκεί που πραγματικά είναι αναγκαία! Το MATLAB δουλεύει με πίνακες και δεν γράφουμε κώδικα όπως στην C για παράδειγμα!
eliascm21 Δημοσ. 21 Νοεμβρίου 2009 Δημοσ. 21 Νοεμβρίου 2009 Στο κύριο πρόγραμμα καλής την συνάρτηση με ορίσματα i, j που δεν τα έχεις δηλώσει. Ομοίως στην συνάρτηση μέσα δεν έχεις ορίσει τα P,x,y ,Q,y,z. Μήπως η συνάρτηση σου θέλεις να δέχεται σαν ορίσματα τους δύο πίνακες P,Q που φτιάχνεις;;; edit: Τα είπε όλα ο Dr.Fuzzy νομίζω
Προτεινόμενες αναρτήσεις
Αρχειοθετημένο
Αυτό το θέμα έχει αρχειοθετηθεί και είναι κλειστό για περαιτέρω απαντήσεις.