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?

조회 수: 1 (최근 30일)
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!

답변 (1개)

Spencer Chen
Spencer Chen 2020년 2월 13일
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

카테고리

Help CenterFile Exchange에서 Operators and Elementary Operations에 대해 자세히 알아보기

Community Treasure Hunt

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

Start Hunting!

Translated by