Question Details

No question body available.

Tags

structure octave variable-assignment

Answers (1)

March 31, 2025 Score: 1 Rep: 30,777 Quality: Medium Completeness: 60%

Consider moving the i loop to just wrap the if statement, you're doing loads of overwrites of the elements which are not dependent on i.

Then it also becomes more obvious where to put your assignments for form(x,y,z).ctop, you can just do it after the i loop for each struct c

for j=1:length(Cr)
  for m=1:length(TR)
    for k=1:length(pH)
      form(j,m,k).name = ["c" num2str(Cr(j)) "TR" num2str(TR(m)) "ph" num2str(pH(k))];
      form(j,m,k).Cr = Cr(j);
      form(j,m,k).Ct = Cr(j)*TR(m); % corde tip
      form(j,m,k).S = (form(j,m,k).Cr+form(j,m,k).Ct)*H/2;
      form(j,m,k).AR = H^2./form(j,m,k).S;

for i = 1:N if (pH(k) == 0) form(j,m,k).c(i) = form(j,m,k).Ct*cos(phi(i))+form(j,m,k).Cr*(1-cos(phi(i))); elseif (yh(i) < H*pH(k)) form(j,m,k).c(i) = form(j,m,k).Cr; else form(j,m,k).c(i) = form(j,m,k).Cr+(form(j,m,k).Ct-form(j,m,k).Cr)/(H-pH(k)*H)*(yh(i)-pH(k)*H); end end

form(j,m,k).c
top = form(j,m,k).c(N/2+1:end); form(j,m,k).c_bot = form(j,m,k).c(1:N/2); end end end