Cos'è ElectroYou | Login Iscriviti

ElectroYou - la comunità dei professionisti del mondo elettrico

[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

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 UtenteDearis
25 1 3
New entry
New entry
 
Messaggi: 91
Iscritto il: 28 ott 2010, 23: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 Utentesimo85
30,9k 7 12 13
Disattivato su sua richiesta
 
Messaggi: 9927
Iscritto il: 30 ago 2010, 4:59

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 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

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
Avatar utente
Foto UtenteIsidoroKZ
121,2k 1 3 8
G.Master EY
G.Master EY
 
Messaggi: 21059
Iscritto il: 17 ott 2009, 0:00


Torna a Programmi applicativi: simulatori, CAD ed altro

Chi c’è in linea

Visitano il forum: Nessuno e 1 ospite