Iterate over two arrays

29 vues (au cours des 30 derniers jours)
Ryan Majid
Ryan Majid le 21 Août 2022
Hi,
I would like to write a code whith two arrays as inputs: W_C and L_C
I want to calculate some formulas for each value. for instant:
W_C=[ 1 2 3 4]
L_C=[ 5 6 7 8]
I want to calculate all for mulas when:
W_C = 1 and L_C=[5 6 7 8]
W_C= 2 and L_C=[5 6 7 8]
.
.
W_C=4 and L_C=[5 6 7 8]
So, I should have 16 results. Here is a code I'm thinking of. however, I get following error:
Index in position 2 exceeds array bounds (must not exceed 1).
Thanks
Here is the code:
clc;
clear all;
close all;
W_C=[0.35 0.5 0.65 0.80];
L_C=[3 4.5 6 7.5];
H=0.035;
epsilon_r=3.38;
for i=1:length(W_C)
W_C=W_C(1,i);
epsilon_o=8.85418782*10^(-12);
epsilon_re=0.5*(epsilon_r+1)+0.5*(epsilon_r-1)*(1+12*(H./W_C)).^(-0.5);
C_I=0.5*epsilon_o*(epsilon_r+1)*(5.5.*L_C);
L_series=50*(1/(3*10^(8)))*sqrt(epsilon_re).*L_C;
R_s=1.5*10^(-6)*sqrt(2.6*10^9);
R_series=(4/3).*(L_C./(6.*W_C))*R_s;
end
disp(C_I)
disp(L_series)
disp(R_series)

Réponses (1)

Image Analyst
Image Analyst le 21 Août 2022
Is this what you want?
clc;
clear all;
close all;
W_C=[0.35 0.5 0.65 0.80];
L_C=[3 4.5 6 7.5];
H=0.035;
epsilon_r=3.38;
for i=1:length(W_C)
W=W_C(1,i);
for k=1:length(L_C)
L = L_C(k);
epsilon_o=8.85418782*10^(-12);
epsilon_re=0.5*(epsilon_r+1)+0.5*(epsilon_r-1)*(1+12*(H./W)).^(-0.5);
C_I=0.5*epsilon_o*(epsilon_r+1)*(5.5.*L);
L_series=50*(1/(3*10^(8)))*sqrt(epsilon_re).*L;
R_s=1.5*10^(-6)*sqrt(2.6*10^9);
R_series=(4/3).*(L./(6.*W))*R_s;
fprintf('W = %.2f, L = %.2f, C_I = %.6f, L_series = %.6f, R_series = %.6f\n', ...
W, L, C_I, L_series, R_series)
end
end
W = 0.35, L = 3.00, C_I = 0.000000, L_series = 0.000001, R_series = 0.145686 W = 0.35, L = 4.50, C_I = 0.000000, L_series = 0.000001, R_series = 0.218529 W = 0.35, L = 6.00, C_I = 0.000000, L_series = 0.000002, R_series = 0.291373 W = 0.35, L = 7.50, C_I = 0.000000, L_series = 0.000002, R_series = 0.364216 W = 0.50, L = 3.00, C_I = 0.000000, L_series = 0.000001, R_series = 0.101980 W = 0.50, L = 4.50, C_I = 0.000000, L_series = 0.000001, R_series = 0.152971 W = 0.50, L = 6.00, C_I = 0.000000, L_series = 0.000002, R_series = 0.203961 W = 0.50, L = 7.50, C_I = 0.000000, L_series = 0.000002, R_series = 0.254951 W = 0.65, L = 3.00, C_I = 0.000000, L_series = 0.000001, R_series = 0.078446 W = 0.65, L = 4.50, C_I = 0.000000, L_series = 0.000001, R_series = 0.117670 W = 0.65, L = 6.00, C_I = 0.000000, L_series = 0.000002, R_series = 0.156893 W = 0.65, L = 7.50, C_I = 0.000000, L_series = 0.000002, R_series = 0.196116 W = 0.80, L = 3.00, C_I = 0.000000, L_series = 0.000001, R_series = 0.063738 W = 0.80, L = 4.50, C_I = 0.000000, L_series = 0.000001, R_series = 0.095607 W = 0.80, L = 6.00, C_I = 0.000000, L_series = 0.000002, R_series = 0.127475 W = 0.80, L = 7.50, C_I = 0.000000, L_series = 0.000002, R_series = 0.159344

Catégories

En savoir plus sur Matrix Indexing dans Help Center et File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by