Expression representation in an Iteration
1 vue (au cours des 30 derniers jours)
Afficher commentaires plus anciens
Vezamafa Nzima
le 6 Août 2020
Commenté : Vezamafa Nzima
le 6 Août 2020
I'd love to know how i can express the expression in a loop. n is the iteration number. I know it may seem trivial but i've been cracking my skull over it. My approach, which I figure is wrong anyways, was to index the second term with n. But the iteration number is greater than the the matrix elements and i get an error. Here is my attempt at the issue.
w=[randn(2,1)+ij*randn(2,1)];
W_k=w*ctranspose(w);
for n=1:N;
w=[randn(2,1)+ij*randn(2,1)];
W_k1=w*ctranspose(w);
t=W_k - W_k1;
end
Is this doing what the expression requires?
0 commentaires
Réponse acceptée
Walter Roberson
le 6 Août 2020
W_k = cell(N,1);
w=[randn(2,1)+ij*randn(2,1)];
W_k{1} = w*ctranspose(w);
for n=1:N;
w = randn(2,1)+ij*randn(2,1);
W_k{n+1} = w*ctranspose(w);
t = W_k{n} - W_k1{n+1};
%do something with t
end
Plus de réponses (1)
Sudheer Bhimireddy
le 6 Août 2020
Something like this ?
w_k(nx) = 0;
w_k_n(n_iter) = 0;
for i=1:nx
w_k_n(1) = w_k(i);
for j=1:n_iter
your_ans(i) = w_k(i) - w_k_n(j);
end
end
2 commentaires
Sudheer Bhimireddy
le 6 Août 2020
If both matrices are of same size and you want to iterate as many times as you want, then you can do one of the below two things:
1) Dynamically increase the size of both matrices as you iterate and fill the w_k with repetetive values. This way you will end up with redundant data.
OR
2) Over-write the w_k_n matrix once the iteration limit has crossed the size of the matrix. This way you might loose some data once you start overwriting.
Voir également
Catégories
En savoir plus sur Surrogate Optimization dans Help Center et File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!