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)

Categories

Find more on Entering Commands in Help Center and File Exchange

Products

Community Treasure Hunt

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

Start Hunting!