フィルターのクリア

Assign random number in column if negative/positive

1 回表示 (過去 30 日間)
Anna Go
Anna Go 2018 年 8 月 1 日
コメント済み: Anna Go 2018 年 8 月 1 日
Hello everyone,
I have a simple Matlab table with the last column having positive and negative numbers. If the values are negative I want to create an additional table and assign random numbers from 4 to 14 and the rest with "0". If the values are positive I want to assign random numbers from 4 to 14 and the rest "0 " in an additional column. see the attached picture

採用された回答

KSSV
KSSV 2018 年 8 月 1 日
val = [1 5 -3 4 8 -6]' ;
C1 = zeros(size(val)) ;
idx = val<0 ;
C1(idx) = randsample(4:14,nnz(idx)) ;
T = table(val,C1)
  3 件のコメント
KSSV
KSSV 2018 年 8 月 1 日
It works very much.....show me the code you tried.
Anna Go
Anna Go 2018 年 8 月 1 日
load energy
whos -file energy
T = table(hour, demand,generation);
T.diffrow = demand - generation;
% insert column with random buy price
T.buydprice = zeros(size(generation)) ;
idx = T.diffrow<0 ;
T.buydprice(idx) = randsample(4:14,nnz(idx)) ;
% insert column with random sell price
T.sellprice = zeros(size(generation)) ;
idx = T.diffrow>0 ;
T.sellprice(idx) = randsample(4:14,nnz(idx)) ;
disp(T)
I attached the .mat file. Thank you

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

その他の回答 (0 件)

カテゴリ

Help Center および File ExchangeFinancial Toolbox についてさらに検索

Community Treasure Hunt

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

Start Hunting!

Translated by