Jump to content



matlab function


deninho

Recommended Posts

Καλησπέρα

έχω μια εισαγωγική απορία στις 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');
end
end

αλλά δεν έχω καταλάβει τι πρέπει να συμπληρώσω για να μου επιστρέφει την τιμή του N καθώς και τον πίνακα a, στο κυρίως πρόγραμμα.

Πάσα βοήθεια δεκτή.

Link to comment
Share on other sites

Η συνάρτηση αυτή τι παράγει; δε το έχεις ορίσει.

Εκτός και αν παράγει τη μεταβλητή "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');
end
end

Link to comment
Share on other sites

Θέλω να ζητάω από το χρήστη να μου πει πόσα στοιχεία θα εισάγει για επεξεργασία (στο κυρίως πρόγραμμα), και να μου δίνει ένα ένα τα στοιχεία (σε πίνακα). Αυτή η function μπαίνει στην αρχή του προγράμματος.

Αυτό που θέλω, μετά είναι να παίρνω στο κυρίως πρόγραμμα τόσο το πλήθος, όσο και τον πίνακα με τα στοιχεία αυτά (και κάτι αθροίσματα, γινόμενα κλπ, αλλά αν καταλάβω πως παίρνω πίσω τις τιμές μου, θα το προσθέσω μόνος μου)

Link to comment
Share on other sites

Όπως πιθανώς να κατάλαβες είναι από άσκηση από τη σχολή. Ανέβασα την εργασία. Αν δεις, και στις 3 ασκήσεις, στα βήματα 1, 2, 3, ζητάει το ίδιο πράγμα. Οπότε σκέφτηκα ότι αντί να το επαναλαμβάνω στο πρόγραμμα, να το βάλω σε μια ξεχωριστή function, την οποία θα καλούν τα 3 προγράμματα.

Ελπίζω να το εξήγησα λίγο καλύτερα τώρα :p

υγ. η εργασία έχει τελειώσει κι έχει παραδοθεί πλέον, απλά ενδιαφερόμουν να τη σουλουπώσω λίγο, για να κερδίσουμε τη συμπάθεια του καθηγητή και να μην πάρει σοβαρά το όποιο (μαθηματικό) λάθος :p Και συνεχίζω να ενδιαφέρομαι για το αρχικό μου ερώτημα, προφανώς :)

Askisi_2.pdf

Link to comment
Share on other sites

Τα 3 πρώτα. Τα υπόλοιπα αν σκαλώσεις ζητάς tips, ο σκοπός είναι να μαθαίνουμε :happy:

clear all
clearvars
clc
%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, μ, αντίστοιχα).
%πινακας των αποτελεσμάτων

ATHR
GIN
MESORO

Link to comment
Share on other sites

Archived

This topic is now archived and is closed to further replies.

×
×
  • Δημιουργία...

Important Information

Ο ιστότοπος theLab.gr χρησιμοποιεί cookies για να διασφαλίσει την καλύτερη εμπειρία σας κατά την περιήγηση. Μπορείτε να προσαρμόσετε τις ρυθμίσεις των cookies σας , διαφορετικά θα υποθέσουμε ότι είστε εντάξει για να συνεχίσετε.