deninho Δημοσιεύτηκε Ιανουάριος 28, 2013 #1 Κοινοποίηση Δημοσιεύτηκε Ιανουάριος 28, 2013 Καλησπέραέχω μια εισαγωγική απορία στις function της matlab. Συγκεκριμένα έχω γράψει αυτήν εδώfunction=functinput(N,a);fprintf('Input # of elements to be computed: ');N=input('');a=zeros(1,N);for j=1:1:N fprintf('type the element # %i: ',j); a(j)=input(''); fprintf('\n');endendαλλά δεν έχω καταλάβει τι πρέπει να συμπληρώσω για να μου επιστρέφει την τιμή του N καθώς και τον πίνακα a, στο κυρίως πρόγραμμα.Πάσα βοήθεια δεκτή. Link to comment Share on other sites More sharing options...
Τζώρτζης Ιανουάριος 28, 2013 #2 Κοινοποίηση Ιανουάριος 28, 2013 Η συνάρτηση αυτή τι παράγει; δε το έχεις ορίσει. Εκτός και αν παράγει τη μεταβλητή "function" αλλά θα πρέπει να της αλλάξεις όνομα π.χ. func, η οποία τυπώνει για 1:N type the element # %i: j; N φορές και ίδια τιμή του a αλλά με διαφορετικό j.Για να λάβεις σε μεταβλητή κατευθείαν την εισαγωγή του χειριστή μπορείς να το τρέξεις πιο απλά όπως στο ακόλουθο παράδειγμα.func=functinput(N,a);Ν=input('Input # of elements to be computed: ');a=zeros(1,N);for j=1:1:N fprintf('type the element # %i: ',j); a(j)=Ν; fprintf('\n');endend Link to comment Share on other sites More sharing options...
deninho Ιανουάριος 28, 2013 Author #3 Κοινοποίηση Ιανουάριος 28, 2013 Θέλω να ζητάω από το χρήστη να μου πει πόσα στοιχεία θα εισάγει για επεξεργασία (στο κυρίως πρόγραμμα), και να μου δίνει ένα ένα τα στοιχεία (σε πίνακα). Αυτή η function μπαίνει στην αρχή του προγράμματος.Αυτό που θέλω, μετά είναι να παίρνω στο κυρίως πρόγραμμα τόσο το πλήθος, όσο και τον πίνακα με τα στοιχεία αυτά (και κάτι αθροίσματα, γινόμενα κλπ, αλλά αν καταλάβω πως παίρνω πίσω τις τιμές μου, θα το προσθέσω μόνος μου) Link to comment Share on other sites More sharing options...
Τζώρτζης Ιανουάριος 28, 2013 #4 Κοινοποίηση Ιανουάριος 28, 2013 Ένα πιο περιγραφικό παράδειγμα θα βοηθούσε διότι δεν είναι εύκολα αντιληπτό ακριβώς τι θες να υλοποιήσεις βάσει του κώδικα που παρέθεσες. Link to comment Share on other sites More sharing options...
deninho Ιανουάριος 28, 2013 Author #5 Κοινοποίηση Ιανουάριος 28, 2013 Όπως πιθανώς να κατάλαβες είναι από άσκηση από τη σχολή. Ανέβασα την εργασία. Αν δεις, και στις 3 ασκήσεις, στα βήματα 1, 2, 3, ζητάει το ίδιο πράγμα. Οπότε σκέφτηκα ότι αντί να το επαναλαμβάνω στο πρόγραμμα, να το βάλω σε μια ξεχωριστή function, την οποία θα καλούν τα 3 προγράμματα. Ελπίζω να το εξήγησα λίγο καλύτερα τώρα υγ. η εργασία έχει τελειώσει κι έχει παραδοθεί πλέον, απλά ενδιαφερόμουν να τη σουλουπώσω λίγο, για να κερδίσουμε τη συμπάθεια του καθηγητή και να μην πάρει σοβαρά το όποιο (μαθηματικό) λάθος Και συνεχίζω να ενδιαφέρομαι για το αρχικό μου ερώτημα, προφανώς Askisi_2.pdf Link to comment Share on other sites More sharing options...
Τζώρτζης Ιανουάριος 28, 2013 #6 Κοινοποίηση Ιανουάριος 28, 2013 Τα 3 πρώτα. Τα υπόλοιπα αν σκαλώσεις ζητάς tips, ο σκοπός είναι να μαθαίνουμε clear allclearvarsclc%1) Να ζητάει από το χρήστη να ορίσει, εξωτερικά από το πληκτρολόγιο, πόσοι αριθμοί θα καταχωρηθούν στον υπολογιστή (Ν).N = input('Αριθμοί προς καταχώρηση: ');a=zeros(1,N);athr=zeros(1,N);gin=zeros(1,N);mesoro=zeros(1,N);% 2) Να ζητάει από το χρήστη να εισάγει, εξωτερικά από το πληκτρολόγιο, τους αριθμούς αυτούς (αi).for i=1:N a(i)=input('Εισάγετε τον πρώτο αριθμό: '); b(i)=input('Εισάγετε τον δεύτερο αριθμό: '); athr(i)=sum([a(i), b(i)]) ATHR(:,i) = [athr(i)]; gin(i) = [a(i)] * [b(i)] GIN(:,i) = gin(i); formean = [a(i),b(i)]; mesoro(i) = mean(formean) MESORO(:,i) =mesoro(i);end% 3) Ο υπολογιστής να υπολογίζει το άθ2ροισμα, το γινόμενο και το μέσο όρο των αριθμών αυτών (s, g, μ, αντίστοιχα).%πινακας των αποτελεσμάτωνATHRGINMESORO Link to comment Share on other sites More sharing options...
Recommended Posts
Archived
This topic is now archived and is closed to further replies.