Getting syntax error when using for loop.

3 views (last 30 days)
As title says; I am getting a syntax error when using the following code. The error points towards the d on "end"
F0=3.18;
m=0.0112;
k=31.2;
r1=0.22;
w0=sqrt(k/m);
w=linspace(0,400,400);
r=linespace(0.11,1.1,10);
for i=1:10
x0(:,i)=(F0/m)./(sqrt(((w0^2)-(w.^2))+((j*w*r(i)/m))));
end
  5 Comments
Walter Roberson
Walter Roberson on 23 Apr 2019
h = plot(w, x0);
will automatically use a different color or line pattern for each of the 10 lines. There are 7 default colors, so the last 3 would end up re-using the colors of the first 3, but with a different line style.
You can assign specific colors to the lines by using,
set(h(1), 'Color', [.3 .9 .2]);
set(h(2), 'Color', 'g');
set(h(3), 'Color', [1, 1/3, 7/10]);
and so on. If you have an array of color values, you can create a loop. For example,
NL = length(h);
cmap = copper( NL );
for K = 1 : NL
set(h(K), 'Color', cmap(K, :))
end

Sign in to comment.

Accepted Answer

madhan ravi
madhan ravi on 23 Apr 2019
r = linspace... % also consider preallocating x0
  2 Comments
Jack Upton
Jack Upton on 23 Apr 2019
What do you mean pre-allocating x0,
sorry Im rather new to this.
Walter Roberson
Walter Roberson on 23 Apr 2019
Before the loop,
x0 = zeros(length(w), length(r));

Sign in to comment.

More Answers (0)

Products

Community Treasure Hunt

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

Start Hunting!