フィルターのクリア

Data type converts from integer to array

1 回表示 (過去 30 日間)
Eric Lopez
Eric Lopez 2023 年 10 月 19 日
コメント済み: Eric Lopez 2023 年 10 月 19 日
When I run the code below, I get an error that the index is not an integer value. Instead, my variable 'r' goes from being an integer to a 1x24 array. Why is this?
--------------------------------------------------------------
R = 1:0.25:6.75;
r = 1;
p = 0;
pout = 0;
Rn = 0;
record = zeros(100, 24);
Pout = zeros(31, 24);
for i = 1:100
for j = 1:24
if r < 6.75
Rn = 4 * r - 3; %Converts ECR to its index
pout = Pout(j, Rn); %Retrive's outage probability
p = randi([0 100], 1) / 100;
if p <= pout
r = floor(2 * R) / 4;
else
r = r + 0.25;
end
elseif r == 6.75
Rn = 4 * r - 3; %Converts ECR to its index
pout = Pout(j, Rn); %Retrive's outage probability
p = randi([0 100], 1) / 100;
if p <= pout
r = floor(2 * R) / 4;
end
end
end
record(i, j) = r;
end

採用された回答

Walter Roberson
Walter Roberson 2023 年 10 月 19 日
Because R is a vector and you have
r = floor(2 * R) / 4;
which uses the vector R and assigns the result to r making r the same size as R ?
  1 件のコメント
Eric Lopez
Eric Lopez 2023 年 10 月 19 日
Thank you! These little things I just don’t notice enough as I should.

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

その他の回答 (0 件)

カテゴリ

Help Center および File ExchangeMatrices and Arrays についてさらに検索

製品

Community Treasure Hunt

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

Start Hunting!

Translated by