can't do this

1 Ansicht (letzte 30 Tage)
Tom
Tom am 8 Jan. 2012
can't do this
Hi, I'm attempting nested for loops and failing miserably.
Here's my code: -
close all;
clear all;
l=50;R=100;T=68;m=0.000125;w0=0.1;t=0;
mu=m/l;c=T/mu;
r=2;x0=l/r;
iter=1;
for x=1:33;
iter=1;
for n=1:5000;
wxt=((4*w0)/pi)*exp(-R*t)*((l/(pi*n^2*x0))*sin((n*pi*x0)/l)-(1/n)*cos((n*pi*x0)/l)+(l/(2*n*x0))*cos((n*pi*x0)/l))*sin((n*pi*x)/l)*cos((c*n*pi*t)/l);
wxtrec(iter)=wxt;
iter=iter+1;
end
w=sum(wxtrec)
wrec(iter)=w;
iter=iter+1;
end
plot(x,wrec)
For the first outer loop run (x=1), I want the inner loop to do 5000 circuits, then I want the sum of that result. Then I want it to go around again 5000 times for x=2, taking a sum of that result etc.
Once I have 33 summed results, I want to plot those sums against x
  1 Kommentar
Image Analyst
Image Analyst am 3 Nov. 2012
Next time, could you pick a more meaningful subject line than "can't do this"?

Melden Sie sich an, um zu kommentieren.

Akzeptierte Antwort

Walter Roberson
Walter Roberson am 8 Jan. 2012
With minimal changes. Improvements are possible.
close all;
clear all;
l=50;R=100;T=68;m=0.000125;w0=0.1;t=0;
mu=m/l;c=T/mu;
r=2;x0=l/r;
iter=1;
for x=1:33;
iter=1;
for n=1:5000;
wxt=((4*w0)/pi)*exp(-R*t)*((l/(pi*n^2*x0))*sin((n*pi*x0)/l)-(1/n)*cos((n*pi*x0)/l)+(l/(2*n*x0))*cos((n*pi*x0)/l))*sin((n*pi*x)/l)*cos((c*n*pi*t)/l);
%wxtrec(iter)=wxt;
wxtrec(n)=wxt; %NEW
iter=iter+1;
end
w=sum(wxtrec)
%wrec(iter)=w;
wrec(x)=w; %NEW AND IMPROVED
iter=iter+1;
end
plot(x,wrec)
  2 Kommentare
Tom
Tom am 9 Jan. 2012
Hi thanks for answering. The code returns a message about subscript indices having to be either real positive integers or logicals. Should I be changing something?
Walter Roberson
Walter Roberson am 9 Jan. 2012
Sorry, I had a typo which I have now corrected.

Melden Sie sich an, um zu kommentieren.

Weitere Antworten (0)

Kategorien

Mehr zu Introduction to Installation and Licensing finden Sie in Help Center und File Exchange

Produkte

Community Treasure Hunt

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

Start Hunting!

Translated by