# array length is not what I've set...

2 vues (au cours des 30 derniers jours)
beginner le 23 Mar 2016
Modifié(e) : Jos (10584) le 23 Mar 2016
Hi,
This is my code, it works just fine, just I dont understand why my array Hopt_new is generating more arrays than I set.
Bo=1;
X = 0:0.1:3;
Hopt_new = zeros([1 90]);
h0_new = 0;
for j = 90:1:179
theta = j*pi/180;
handle = @(h0) test2fun(h0, theta, Bo,X);
Hopt_new(j)=fsolve(handle, h0_new);
h0_new = Hopt_new(j);
end
Why does Hopt_new have length of 179 instead of 90, which I set before the for loop? Is this because j goes until 179? I mean j actually is a "vector" with length of 90. I just dont get it.
Thanks a lot.
##### 1 commentaireAfficher -1 commentaires plus anciensMasquer -1 commentaires plus anciens
Jos (10584) le 23 Mar 2016
Yes, take a look at this code, and then see my answer:
A = [1 2 3]
A(6) = 99

Connectez-vous pour commenter.

### Réponse acceptée

random09983492 le 23 Mar 2016
The first time the loop executes it sets Hopt_new(90).
The second time it sets Hopt_new(91).
If you want to start at the first index of Hopt_new, assign Hopt_new(j-89) rather than just Hopt_new(j).
##### 0 commentairesAfficher -2 commentaires plus anciensMasquer -2 commentaires plus anciens

Connectez-vous pour commenter.

### Plus de réponses (1)

Jos (10584) le 23 Mar 2016
Modifié(e) : Jos (10584) le 23 Mar 2016
In your code, the variable j has two roles:
1. an index into Hopt
2. a value that is used for calculation (angle?)
Your best option is to disentangle these using two variables:
Bo = 1;
X = 0:0.1:3;
Hopt_new = zeros([1 90]);
h0_new = 0;
Angle = 90:1:179 ;
for j2 = 1:numel(Angle)
% loop over all angles
theta = Angle(j2) * pi/180;
handle = @(h0) test2fun(h0, theta, Bo, X);
Hopt_new(j2) = fsolve(handle, h0_new);
h0_new = Hopt_new(j2);
end
##### 0 commentairesAfficher -2 commentaires plus anciensMasquer -2 commentaires plus anciens

Connectez-vous pour commenter.

### Catégories

En savoir plus sur NaNs 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