is it possible to do what is in the code below?

is it possible to do what is in the code below? marked on '!!'
for k = 1 : numel(VetorN)
DiscSt.N(k) = VetorN(k);
z = 2;
VetorA = ( 0 + ( z *( 0 : in ) ) );
WingSt.AoA = deg2rad( 5 );
if k == length(VetorN)
for j = 1 : numel( VetorA )
DiscSt.N = N;
WingSt.AoA(j) = deg2rad( VetorA(j) ); % input angle of attack
end !!%% this end for 'if'!!
WingSt.CL = WingSt.AoA + DiscSt.N;
C = [ 1 1 WingSt.AoA 1 1];
if k == length(VetorN)
break
end
end !!% !!this end for 'for'!!
CL = WingSt.CL;
end
CL1 = WingSt.CL
C

5 Comments

That way, absolutely not.
What are you trying to accomplish?
I want the second 'for' to be used only at the end, but to use everything after it as a 'for' so that WingSt.AoA doesn't become a vector
I'm not sure you can avoid copying code to accomplish this.
What if I create two scripts one for each 'for loop' and want to call the variable from one script to the other. And so make a plot (CL, CL1).
1 (this i will make a plot)
for k = 1 : numel(VetorN)
DiscSt.N(k) = VetorN(k);
WingSt.AoA = deg2rad( 5 );
WingSt.CL = WingSt.AoA + DiscSt.N;
CL = WingSt.CL;
end
plot(CL,CL1)
2
z = 2;
VetorA = ( 0 + ( z *( 0 : in ) ) );
for j = 1 : numel( VetorA )
DiscSt.N = N;
WingSt.AoA(j) = deg2rad( VetorA(j) ); % input angle of attack
WingSt.CL = WingSt.AoA + DiscSt.N;
C = [ 1 1 WingSt.AoA 1 1];
CL1 = WingSt.CL
end
C
Try typing control-a (to select all text) then control-i (to fix the indenting). That will alert you to missing end statements and you can see whether the loops and if blocks look correct.

Answers (0)

This question is closed.

Closed:

on 20 Aug 2021

Community Treasure Hunt

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

Start Hunting!