Assign variable spend to true or false based on the parameters

% my output for this code is spend= logical 0 but I need it to be true or false
%please help
profit_mild = 100000;
prob_freezing = 0.25;
prob_damage = 0.4;
damage_reduction = 60000;
protection_cost = 5000;
mu = (1 - prob_freezing) * profit_mild + prob_freezing*(damage_reduction);
spend =mu >= profit_mild-protection_cost

 Accepted Answer

profit_mild = 100000;
prob_freezing = 0.25;
prob_damage = 0.4;
damage_reduction = 60000;
protection_cost = 5000;
mu = (1 - prob_freezing) * profit_mild + prob_freezing*(damage_reduction);
spend =mu >= profit_mild-protection_cost
spend = logical
0
logical 0 is false
isequal(spend,false)
ans = logical
1
and logical 1 is true
isequal(logical(1),true)
ans = logical
1

2 Comments

If you want to display (or otherwise use) the character vectors 'true' and 'false' based on the value of spend, then you can do something like this:
ft = {'false','true'};
% say spend is false
spend = false;
ch = ft{1+spend};
disp(ch);
false
% say spend is true
spend = true;
ch = ft{1+spend};
disp(ch);
true
Logical 0 or 1 is how they are displayed
true
ans = logical
1
false
ans = logical
0

Sign in to comment.

More Answers (0)

Asked:

Ana
on 21 Feb 2024

Commented:

on 21 Feb 2024

Community Treasure Hunt

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

Start Hunting!