i have (y) with size of 784*1000 and i mapped this y to get gex, gin , but the result shown only 1 dimension and i want that mapping for the two dimension (784*1000),
2 ビュー (過去 30 日間)
古いコメントを表示
i have (y) with size of 784*1000 and i mapped this y to get gex, gin , but the result shown only 1 dimension and i want that mapping for the two dimension (784*1000),
Rmin = 1e5
Rmax = 1e6
Gmin = 1.0/Rmax
Gmax = 1.0/Rmin
Input =table2array(in)
y=w{1}
for i = 1:length(y)
if y(i)>=0
gex(i) = Gmax*y(i) +Gmin*(1-y(i))
gin(i) =Gmin
disp(y(i))
disp (gex(i))
else
gex(i) =Gmin
gin(i) = -Gmax*y(i) +Gmin*(1+y(i))
end
end
0 件のコメント
採用された回答
Voss
2022 年 11 月 20 日
編集済み: Voss
2022 年 11 月 20 日
Initialize gex and gin to be matrices the same size as y.
Then loop over all elements of y:
gex = zeros(size(y));
gin = zeros(size(y));
for i = 1:numel(y) % numel(y), not length(y)
if y(i)>=0
gex(i) = Gmax*y(i) +Gmin*(1-y(i));
gin(i) = Gmin;
else
gex(i) = Gmin;
gin(i) = -Gmax*y(i) +Gmin*(1+y(i));
end
end
or use logical indexing instead of a loop:
gex = zeros(size(y));
gin = zeros(size(y));
idx = y >= 0;
gex(idx) = Gmax*y(idx) + Gmin*(1-y(idx));
gin(idx) = Gmin;
gex(~idx) = Gmin;
gin(~idx) = -Gmax*y(~idx) + Gmin*(1+y(~idx));
3 件のコメント
VBBV
2022 年 11 月 21 日
May be you mean the Input as below
Input * gex
instead of
input * gex % input is standard Matlab function
その他の回答 (0 件)
参考
カテゴリ
Help Center および File Exchange で Time Series についてさらに検索
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!