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

 Akzeptierte Antwort

Inge
Inge am 7 Okt. 2013

0 Stimmen

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!

Weitere Antworten (1)

Jan
Jan am 7 Okt. 2013

0 Stimmen

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} = ...

Kategorien

Mehr zu Loops and Conditional Statements finden Sie in Hilfe-Center und File Exchange

Tags

Gefragt:

am 7 Okt. 2013

Beantwortet:

Jan
am 7 Okt. 2013

Community Treasure Hunt

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

Start Hunting!

Translated by