Plotting the values of a vector

Hi,
this is the code I wrote:
A=[1 1.1; 1.1 1]
l= [sym(2)/sym(3); sym(1)/sym(3)]
w=1
B=[1.09 1.44; 1.44 0.99]
r=linspace(0,1,100)
for r=0:0.01:1
p=w*(inv(B-(1+r)*A))*l
end
I would like to plot both values of the vector p on a graph to show the development of prices when r changes. Unfortunately, I could not find the right code yet. Does anyone have an idea?
Greetings Anna

 Accepted Answer

Star Strider
Star Strider on 26 Nov 2019
Edited: Star Strider on 26 Nov 2019
Try this:
A=[1 1.1; 1.1 1];
l = [2; 1]/3;
B=[1.09 1.44; 1.44 0.99];
w=1;
r=linspace(0,1,100);
for k = 1:numel(r)
p(:,k) = w*((B-(1+r(k))*A))\l;
end
figure
plot(r, p)
grid
xlabel('r')
ylabel('p(r)')
I replaced your inv call with the mldivide,\ operator, and eliminated the symbolic code, since it is not necessary.
EDIT —
Added plot figure —
Plotting the values of a vector - 2019 11 26.png

2 Comments

thank you very much, this helped a lot
As always, my pleasure!

Sign in to comment.

More Answers (0)

Categories

Community Treasure Hunt

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

Start Hunting!