Clear Filters
Clear Filters

Define variable based on input condition

2 views (last 30 days)
I have a function which calculates two possible output values (psi positive or negative) for a given input value (th2) as th2 sweeps from 0 to 360.
th2 = 0: 0.1: 360;
A = 2*a*c.*cosd(th2)-2*d*c;
B = 2*a*c.*sind(th2);
C = (d^2) + (c^2) + (a^2) - (b^2) - (2*a*d.*cosd(th2)) ;
psi_pos = (atan2d(B,A) + acosd(C ./ (sqrt((A.^2) + (B.^2)))));
psi_neg = (atan2d(B,A) - acosd(C ./ (sqrt((A.^2) + (B.^2)))));
The outputs for psi_pos and psi_neg are 1x3601 doubles,
I want a final variable psi defined as
psi_pos when 0 < th2 < 180
psi_neg when 180 < th2 < 360
So I can then plot one continuous function (psi vs th2)

Accepted Answer

madhan ravi
madhan ravi on 15 Nov 2023
Edited: madhan ravi on 15 Nov 2023
psi = ((0 <= th2) & (th2 < 180)) .* psi_pos + ((180 <= th2) & (th2 < 360)) .* psi_neg;
plot(th2, psi)

More Answers (0)

Categories

Find more on Data Type Identification in Help Center and File Exchange

Products


Release

R2023b

Community Treasure Hunt

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

Start Hunting!