/ / Cette approche est-elle correcte pour une seule somme dans le domaine temporel dans Matlab? - matlab

Cette approche est-elle correcte pour une seule sommation dans le domaine temporel dans Matlab? - matlab

J'essaie de faire une seule sommation d'une fonction dans le domaine temporel. J'ai fait fonctionner mon code, mais je me sentirais plus en confiance si quelqu'un vérifiait l'exactitude ou indiquait mes erreurs.

Voici une image de la formule que j'essaie de coder:

entrer la description de l'image ici

Et voici le code lui-même:

h = 100;
t=[1:400];
rho_w = 1025;
g = 9.81;
Ohm = [0.01:0.01:4]
Phase = rand(1,length(Ohm))*2*pi;
Amp = [1:1:400];

for i = 1:length(t)
P(i) = rho_w*g*sum(Amp.*Ohm.*cos(Ohm*t(i)+Phase))
end

Réponses:

1 pour la réponse № 1

Je pense que c'est correct (merci à @horchler pour son précieux commentaire).

Vous pouvez aussi le faire avec bsxfun:

P = rho_w*g*sum( bsxfun(@times, (Amp.*Ohm).", ...
cos(bsxfun(@plus, bsxfun(@times, Ohm.", t), Phase."))) );