Taking in 2 array variables, my output variable is a single number rather than an array. Any suggestions to get my output in an array?

2 vues (au cours des 30 derniers jours)
alpha = 30;
theta_1 = 0:360;
omega_1 = 360;
theta_2 = atan(tan(theta_1)/cos(alpha))
omega_2 = sec(theta_1).*sec(theta_1).*omega_1/((sec(theta_2)).*(sec(theta_2)).*cos(alpha))
If I remove the division, omega_2 is an array, but with it omega_2 is a single value and I don't understand why.
Any help would be greatly appreciated!

Réponses (1)

Spencer Chen
Spencer Chen le 13 Fév 2020
I guess you probably want to use the:
A ./ B
operation instead of the straight divide "/".
Also as a recommendation, break up your expression into smaller pieces for easier debugging. e.g.:
numerator = sec(theta_1).*sec(theta_1).*omega_1;
denominator = (sec(theta_2)).*(sec(theta_2)).*cos(alpha);
answer = numerator ./ denominator;
or even finer pieces.
Blessings,
Spencer

Catégories

En savoir plus sur Operators and Elementary Operations 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