Getting syntax error when using for loop.

3 Ansichten (letzte 30 Tage)
Jack Upton
Jack Upton am 23 Apr. 2019
Kommentiert: Jack Upton am 23 Apr. 2019
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 Kommentare
Walter Roberson
Walter Roberson am 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
Jack Upton
Jack Upton am 23 Apr. 2019
Incredible, thank you!

Melden Sie sich an, um zu kommentieren.

Akzeptierte Antwort

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

Melden Sie sich an, um zu kommentieren.

Weitere Antworten (0)

Kategorien

Mehr zu Matrix Indexing 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