Effacer les filtres
Effacer les filtres

storing data in an array from a loop

1 vue (au cours des 30 derniers jours)
Tristan
Tristan le 7 Oct 2013
Réponse apportée : Jan le 7 Oct 2013
I have:
A1=(1:1:10)*1.22';
A2=(1:1:10)*2.55';
for cc=(A1+A2)/2;
G1=[1 2];
G2=[2.6 1.1];
X=(fsolve(@(x)sum(G1.*sin(G2.*x)),cc))'
end
and I want the results for X to be stored in an array

Réponse acceptée

Inge
Inge le 7 Oct 2013
A1=(1:1:10)*1.22';
A2=(1:1:10)*2.55';
i=1;
for cc=(A1+A2)/2;
G1=[1 2];
G2=[2.6 1.1];
X(i)=(fsolve(@(x)sum(G1.*sin(G2.*x)),cc))'
i = i+1;
end
I think this will work!

Plus de réponses (1)

Jan
Jan le 7 Oct 2013
The code looks strange. Perhaps you meant:
index = (1:10) * ((1.22 + 2.55) / 2);
G1 = [1 2]; % Move constants out of the loop
G2 = [2.6 1.1];
X = zeros(1, 10);
for k = 1:10
X(k) = fsolve(@(x)sum(G1.*sin(G2.*x)), index(k))';
end
Or perhaps X should be a cell?
X = cell(1, 10);
for k = 1:10
C{k} = ...

Catégories

En savoir plus sur Loops and Conditional Statements dans Help Center et File Exchange

Tags

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by