# Governing Equations

Logical Operators

• we explored two cases where we could use logical operators/structures (logical vectors) to
handle
• The logical vectors would “turn on” (return a “1”) under some conditions and “turn off” for others.
• These programs are included to help you model things for this project

Objectives

• Solve the following problem statement with if-else ladders
• Test each case by displaying the correct values for thefollowing incomes: \$5,000, \$10,000, \$11,000, \$15,000, \$30,000 and \$100,000
• Publish your results as a PDF

Problem Statement

• The IRS has a tax table given as …
• Taxable Income \$10,000 or less …. tax is 10% of taxable income
• Taxable income between \$10,000 and \$20,000 …
\$1,000 + 20% of the amount by which the taxable income exceeds \$10,000
• Taxable income more than \$20,000 … \$3,000 + 50% of the amount by which the taxable income exceeds \$20,000

LogicGames_Sinx_Corrected.m

%% Title – Sinc(x) Challenge Problem

%% Governing Equations

%  y (x)  = sin (x)   /  x

%  range = -4pi to + 4pi

%%  Set range vector

lowerlim = -4 * pi ;

upperlim = 4 * pi  ;

x = lowerlim :  pi/20 : upperlim   ;

%  Nudge any zero values by the smallest number possible

x = x + (x == 0) * 1E-20 ;

% Matlab also has a function for that (eps)

%x = x + (x == 0) * eps;

%%  Determine y for each x

y = sin(x) ./ x   ;             % ./ so that we go element-by-element

%%  Plot Results

plot (x,y)

LogicGames_Tan_Corrected.m

%% Title

%% Governing Equations

%  y (x)  = tan(x)

%  range = -3pi/2 to + 3pi/2

%%  Set range vector

lowerlim = (-3/2) * pi ;

upperlim = (3/2) * pi  ;

x = lowerlim :  pi/100 : upperlim   ;

%%  Determine y for each x

y = tan(x)   ;

%%  Remove values which are INSANELY large

y = y .* (abs(y) < 1e10) ;    % (…) equals 1 if reasonable, 0 if huge

%%  Plot Results

plot (x,y)

Solution

Program with MATLAB using if-else ladder:

clearall

clc

x=[5000 10000 11000 15000 30000 100000];%Incomes taxables

i=1;

while i<=length(x)

if x(i)<=10000% first condition

tax(i)=0.1*x(i);

elseif x(i)>10000&&x(i)<20000% Second condition

tax(i)=1000+0.2*x(i);

else x(i)>20000% Third condition

tax(i)=3000+0.5*x(i);

i=i+1;

end

end

H1={‘incomes taxable’,’output tax’};%Titles of the table

H=[x’ tax’];% Results

HH=[H1;num2cell(H)]% Table complete

Output:

‘incomes taxable’    ‘output tax’

[           5000]    [       500]

[          10000]    [      1000]

[          11000]    [      3200]

[          15000]    [      4000]

[          30000]    [     18000]

[         100000]    [     53000]

Program with MATLAB using logical vector with if-else ladders:

clearall

clc

x=[5000 10000 11000 15000 30000 100000];%Incomes taxables

i=1;

while i<=length(x)

X1=(x(i)<=10000)

if X1(i)==1

tax(i)=0.1*x(i);

else

end

X1=(x(i)>10000)&&(x(i)<20000)

if X1==1

tax(i)=1000+0.2*x(i);

else

end

X1=(x(i)>20000)

if X1==1

tax(i)=3000+0.5*x(i);

else

end

i=i+1;

end

H1={‘incomes taxable’,’output tax’};%Titles of the table

H=[x’ tax’];% Results

HH=[H1;num2cell(H)];% Table complete

Output:

‘incomes taxable’    ‘output tax’

[           5000]    [       500]

[          10000]    [      1000]

[          11000]    [      3200]

[          15000]    [      4000]

[          30000]    [     18000]

[         100000]    [     53000]