2017-10-04 1 views
0

Dans MATLAB, j'ai une matrice de taille mxn qui est décidée par l'utilisateur.Comment remplacer des valeurs aléatoires par des valeurs de fonction?

À l'heure actuelle, la matrice affiche des valeurs aléatoires mappées en couleurs. Je voudrais maintenant remplacer ces valeurs par une fonction sinusoïdale.

J'ai le peu de code suivant, mais je n'arrive pas à comprendre pourquoi je ne peux pas le transmettre à ma fonction principale.

La fonction principale contient les variables et les fonctions de temporisation qui appellent ce code.

function window_timer(obj, event, rows, cols) 
imgh = get(obj,'UserData'); 
myMat = get(imgh,'CData'); 

myMat(2:end) = myMat(1:(end-1)); 
myMat(1) = rand(1); 

generate_newdata = sin(myMat); 
return(myMat); 


set(imgh,'CData',myMat); 
drawnow; 
set(obj,'UserData',imgh); 

Que puis-je faire pour résoudre ce problème?

Répondre

2

Une fonction Matlab est définie comme suit:

function [var_out] = fun_name(var_in) 
    % enter your code here 
end 

"Lorsque Matlab atteint une déclaration de retour, il ne sort pas seulement la boucle, il quitte le script ou la fonction et renvoie le contrôle à la fonction invocateur ou invite de commande "

Etes-vous sûr d'utiliser MATLAB?