Getting syntax error when using for loop.

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 Commenti

Copying and pasting this code into MATLAB (after correcting the "linespace" typo, which I assume should be linspace) I did not receive an error.
Can you show us the full text of the error message (all the text displayed in red) you receive when you run this code?
It was a syntax error regarding the linspace and there was also a bracket error which I have now edited in my question.
How would I now allocate a different colour for each potted data line?
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
Incredible, thank you!

Accedi per commentare.

 Risposta accettata

r = linspace... % also consider preallocating x0

2 Commenti

What do you mean pre-allocating x0,
sorry Im rather new to this.
Before the loop,
x0 = zeros(length(w), length(r));

Accedi per commentare.

Più risposte (0)

Categorie

Scopri di più su Loops and Conditional Statements in Centro assistenza e File Exchange

Prodotti

Community Treasure Hunt

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

Start Hunting!

Translated by