[MATLAB] Problema con la risoluzione di un esercizio

Strumenti informatici per la matematica applicata, le simulazioni, il disegno: Mathcad, Matlab, Scilab, Microcap, PSpice, AutoCad ...

Moderatori: Foto Utenteg.schgor, Foto Utentedimaios

Avatar utente
Foto UtenteDearis
25 1 3
New entry
New entry
Messaggi: 91
Iscritto il: 28 ott 2010, 23:59
0
voti

[1] [MATLAB] Problema con la risoluzione di un esercizio

Messaggioda Foto UtenteDearis » 7 giu 2015, 19:39

Salve a tutti! :D
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 :D

Avatar utente
Foto Utentesimo85
30,9k 7 12 13
Disattivato su sua richiesta
Messaggi: 9927
Iscritto il: 30 ago 2010, 4:59
0
voti

[2] Re: [MATLAB] Problema con la risoluzione di un esercizio

Messaggioda Foto Utentesimo85 » 7 giu 2015, 23:23

Dearis ha scritto: Come faccio a bloccarne l'esecuzione quando trovo definitivamente quel valore?

Con l'istruzione break: http://es.mathworks.com/help/matlab/ref/break.html

Avatar utente
Foto Utentedimaios
30,2k 7 10 12
G.Master EY
G.Master EY
Messaggi: 3381
Iscritto il: 24 ago 2010, 14:12
Località: Behind the scenes
2
voti

[3] Re: [MATLAB] Problema con la risoluzione di un esercizio

Messaggioda Foto Utentedimaios » 8 giu 2015, 8:56

Un piccolo appunto ..... è lecito utilizzare median oppure è corretto utilizzare mean ? ;-)
( Leggi bene il testo del problema )
Ingegneria : alternativa intelligente alla droga.

Avatar utente
Foto UtenteIsidoroKZ
121,2k 1 3 8
G.Master EY
G.Master EY
Messaggi: 21059
Iscritto il: 17 ott 2009, 0:00
0
voti

[4] Re: [MATLAB] Problema con la risoluzione di un esercizio

Messaggioda Foto UtenteIsidoroKZ » 9 giu 2015, 7:50

Usando un while probabilmente viene piu` elegante!
Per usare proficuamente un simulatore, bisogna sapere molta più elettronica di lui
Plug it in - it works better!
Il 555 sta all'elettronica come Arduino all'informatica! (entrambi loro malgrado)
Se volete risposte rispondete a tutte le mie domande


Torna a “Programmi applicativi: simulatori, CAD ed altro”