[MATLAB] Problema con la risoluzione di un esercizio
Salve a tutti! 
Sto preparando l'esame di Laboratorio di Informatica e mi sono trovato davanti questo esercizio:
Progettare un M-file per creare un vettore X di 30 elementi reali casuali compresi tra 0 e
100. Calcolare e stampare la media degli elementi e ripetere le operazioni finché la media è
compresa tra 49 e 51. Memorizzare e stampare il numero di iterazioni effettuate. Interrompere
l’esecuzione al raggiungimento di 500 iterazioni.
In linea generale quindi devo:
Creare una matrice 1x30 con elementi tra 0 e 100.
Calcolarne la media.
Se questa è compresa tra 49 e 51 stamparne il valore, altrimenti crearne un'altra.
Ripetere il procedimento per un massimo di 500 volte.
Il codice che ho scritto è quest'ultimo:
Il problema è che il programma si stoppa al raggiungimento della media voluta solo perché chiedo un input inutile all'utente, e se premo invio continua a generare matrici fino alla prossima media "giusta". Come faccio a bloccarne l'esecuzione quando trovo definitivamente quel valore? Grazie a tutti
Sto preparando l'esame di Laboratorio di Informatica e mi sono trovato davanti questo esercizio:
Progettare un M-file per creare un vettore X di 30 elementi reali casuali compresi tra 0 e
100. Calcolare e stampare la media degli elementi e ripetere le operazioni finché la media è
compresa tra 49 e 51. Memorizzare e stampare il numero di iterazioni effettuate. Interrompere
l’esecuzione al raggiungimento di 500 iterazioni.
In linea generale quindi devo:
Creare una matrice 1x30 con elementi tra 0 e 100.
Calcolarne la media.
Se questa è compresa tra 49 e 51 stamparne il valore, altrimenti crearne un'altra.
Ripetere il procedimento per un massimo di 500 volte.
Il codice che ho scritto è quest'ultimo:
- Codice: Seleziona tutto
clear all;
close all;
clc;
r = randi(100,1,30);
M=median(r);
x=M;
if x>=49 & x<=51
disp(x);
else
for i=2:500
r = randi(100,1,30);
M=median(r);
x=M;
if x>=49 & x<=51
disp(i);
disp(x);
input('Abbiamo avuto la media voluta');
end
end
end
Il problema è che il programma si stoppa al raggiungimento della media voluta solo perché chiedo un input inutile all'utente, e se premo invio continua a generare matrici fino alla prossima media "giusta". Come faccio a bloccarne l'esecuzione quando trovo definitivamente quel valore? Grazie a tutti