I am trying to change specific values of a matrix with a new ones.

1 回表示 (過去 30 日間)
Steven Shaaya
Steven Shaaya 2021 年 11 月 29 日
コメント済み: Steven Shaaya 2021 年 11 月 29 日
%This is the matrix I am working with
%please do not worry about changing mpc to f in my code because my original code has many matrix and here I am calling only 'bus' matrix
%code 1
f.bus()
format short
for y=1:10
y
compound=(1+0.1)^(y-1)
ND=f.bus(:,3:4)*compound
end
%this is the portion of result for the above code 1
% Now when I try to substitute those values in the matrix by the following code 2
%code 2, I am just modifying code 1
f.bus()
format short
for y=1:10
y
compound=(1+0.1)^(y-1)
ND=f.bus(:,3:4)*compound
f.bus(:,3:4)= ND
f.bus()
end
%see what happen to y =10 for example
%And see what happen to the matrix, this is also a portion of the matrix but you can see columns 3 and 4
% Any idea why that is happening
%we can see that my ND values has changed too.
%please note, my original matrix was not affacted by my code 1 and I did "clear all" and "clc" but I did not help at all
  2 件のコメント
Walter Roberson
Walter Roberson 2021 年 11 月 29 日
do not use format short, use format longg
Steven Shaaya
Steven Shaaya 2021 年 11 月 29 日
編集済み: Steven Shaaya 2021 年 11 月 29 日
I did but it does not help. As you can see the number is getting very large for ND but the value of compound is correct.
Also when I start my "for loop from y=10:10
I get the correct value
but when the loop start from 1 to 10 then I get very large value

サインインしてコメントする。

採用された回答

Walter Roberson
Walter Roberson 2021 年 11 月 29 日
Choose one approach:
  • take interest rate plus one, to the power of the number of periods, and multiply by the initial value to get the expanded value; Or
  • initialize current value to initial value. At each period multiply the current value by interest rate plus one, and store that back as the new current value.
You were doing both, calculating interest to the periods and updating the current value each period.
Interest to the periods is easy to vectorize, but keeping a current value is easier to simulate interest and repayment mixed.
  1 件のコメント
Steven Shaaya
Steven Shaaya 2021 年 11 月 29 日
Thank you for your help, I did work but I still don't understand why in my code 1 it was not saving the values and it was multiplying by 70 each time, but in my Code 2 it was multiplying by the previous value

サインインしてコメントする。

その他の回答 (0 件)

カテゴリ

Help Center および File ExchangeCode Generation についてさらに検索

タグ

製品


リリース

R2019b

Community Treasure Hunt

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

Start Hunting!

Translated by