Problem with dash and number of values

2 views (last 30 days)
I was doing this script, in which I should have 72 answers (24 answers with each value of d), but I only have 24 value, hence, my script is only considering one of my values of d. Also, in line 32 it says the dash is incorrect, please help me with that. The script is as follows:
phi = 53;
d = 100:100:365;
for i = 1:1:length(d)
delta(i) = -23.45 * cosd((360/365) * (d(i)+10));
end
h = 1/24:1/24:1;
for i = 1:1:length(d)
for j = 1:1:length(h)
h_a(j) = 360 * (h(j)-0.5);
alpha(j) = asind(((sind(phi) * sind(delta(i))) + (cosd(phi) * cosd(delta(i)) * cosd(h_a(j)))));
theta(j) = 90 - alpha(j);
end
if h <= 0.5
beta(j) = -acosd((((sind(delta(i)) * cosd(phi)) - (cosd(h_a(j)) * cosd(delta(i)) * sind(phi)))/sind(theta)));
else
beta(j) = acosd((((sind(delta(i)) * cosd(phi)) - (cosd(h_a(j)) * cosd(delta(i)) * sind(phi))))/sind(theta));
end
end
  1 Comment
Sarah Kneer
Sarah Kneer on 23 Dec 2020
Sorry the line that I mentioned is not 32, it's the line with beta(j) = acosd...

Sign in to comment.

Accepted Answer

Walter Roberson
Walter Roberson on 23 Dec 2020
theta is a vector so /sind(theta) is attempting to do a Matrix Right Division operation, which fails because the left side is not the correct size for mrdivide.
In order for that code to work, theta would have to be a column vector, and the left side of the / would also have to be a column vector, so that the / mrdivide operation could return a scalar (essentially a least-squared fit.)
... Or you could index theta so that you have scalar divided by scalar.
  3 Comments
Sarah Kneer
Sarah Kneer on 23 Dec 2020
So I solved that line but I’m still only getting 24 answers, any idea of how I can get all the answers?
Walter Roberson
Walter Roberson on 31 Dec 2020
if h <= 0.5
beta(i,j) = -acosd((((sind(delta(i)) * cosd(phi)) - (cosd(h_a(j)) * cosd(delta(i)) * sind(phi)))/sind(theta)));
else
beta(i,j) = acosd((((sind(delta(i)) * cosd(phi)) - (cosd(h_a(j)) * cosd(delta(i)) * sind(phi))))/sind(theta));
end

Sign in to comment.

More Answers (0)

Tags

Community Treasure Hunt

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

Start Hunting!