2 views (last 30 days)

Hello, Right now I am getting a matrix at the end but all the values in each row are the same. Im not sure why this is happening. My results matrix is right but the unhedged and hedged are doing this error.

k_g = [0.66, 0.65, 0.64, 0.63, 0.62, 0.61, 0.60, 0.59, 0.55];

c_g = [0.085855 0.032191 0.020795 0.017001 0.013711 0.010851 0.008388 0.006291 0.001401];

k_b = [1.30, 1.25, 1.20, 1.15, 1.10, 1.05, 1.00, 0.95, 0.90];

c_b = [0.137213 0.082645 0.045060 0.028338 0.016146 0.007860 0.003277 0.001134 0.000245];

results_G = zeros(length(k_g), length(c_g));

results_B = zeros(length(k_b), length(c_b));

unhedged_G = zeros(length(k_g), length(c_g));

unhedged_B = zeros(length(k_b), length(c_b));

Eg = 643000000;

Eb = 272000000;

corr = 0.675;

n = 100000;

Rg = normrnd(0,9,[n,1]);

Rb = normrnd(0,11,[n,1]);

for j = 1:length(c_g)

for i = 1:length(k_g)

G = 0.6531*(1+Rg(i)/100);

netpayoff_g = (k_g(i)-G)-c_g(j);

results_G(i,j)= netpayoff_g;

unhedged_G(i,j)=Eg.*G;

end

j=j+1;

end

for b = 1:length(c_b)

for a = 1:length(k_b)

B = 1.234*(1+Rb(a)/100);

netpayoff_b = (k_b(a)-B)-c_b(b);

results_B(a,b)= netpayoff_b;

unhedged_B(a,b)= Eb.*B;

end

b=b+1;

end

hedged_G = unhedged_G + (9.*results_G)

hedged_B = unhedged_B + (9.*results_B)

hedged = hedged_G + hedged_B

results_G

results_B

best_G = max(results_G(:))

best_B = max(results_B(:))

Sai Sri Pathuri
on 22 Sep 2020

You may try the following:

Create Rg and Rb as matrices with same length as results matrices

Rg = normrnd(0,9,[length(k_g), length(c_g)]);

Rb = normrnd(0,11,[length(k_b), length(c_b)]);

For the calculation of unhedged_G, define G as

G = 0.6531*(1+Rg(i,j)/100);

For the calculation of unhedged_B, define B as

B = 1.234*(1+Rb(a,b)/100);

Opportunities for recent engineering grads.

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

Start Hunting!
## 3 Comments

## Direct link to this comment

https://au.mathworks.com/matlabcentral/answers/594982-how-to-multiply-each-value-of-a-matrix-by-a-number#comment_1012048

⋮## Direct link to this comment

https://au.mathworks.com/matlabcentral/answers/594982-how-to-multiply-each-value-of-a-matrix-by-a-number#comment_1012048

## Direct link to this comment

https://au.mathworks.com/matlabcentral/answers/594982-how-to-multiply-each-value-of-a-matrix-by-a-number#comment_1012054

⋮## Direct link to this comment

https://au.mathworks.com/matlabcentral/answers/594982-how-to-multiply-each-value-of-a-matrix-by-a-number#comment_1012054

## Direct link to this comment

https://au.mathworks.com/matlabcentral/answers/594982-how-to-multiply-each-value-of-a-matrix-by-a-number#comment_1012084

⋮## Direct link to this comment

https://au.mathworks.com/matlabcentral/answers/594982-how-to-multiply-each-value-of-a-matrix-by-a-number#comment_1012084

Sign in to comment.