Decimate every row in a matrix

12 次查看(过去 30 天)
Edward Keavney
Edward Keavney 2022-9-14
回答: Chunru 2022-9-14
Hi,
I have an array 26X10600 and have successfully managed to decimate the data to the required factor, however the decimate function only applies this to the first row in the array.
Is there a way to apply the decimate function to all the rows in the array? Perhaps using a loop?
Thanks in advance,
Ed.

回答(1 个)

Chunru
Chunru 2022-9-14
% assume that decimate is used for downsampling
a = randn(100, 26); % time is along the column
[ns, nch] = size(a);
r = 5;
ns_down = floor(ns/r);
a_down = zeros(ns_down, nch);
for i=1:nch
a_down(:, i) = decimate(a(:, i), r);
end
% if you use resample
a_down = resample(a, 1, 5)
a_down = 20×26
0.2035 0.5894 0.4277 0.5124 -0.2946 0.0375 -0.4256 0.5500 -0.0988 -0.3491 -0.2059 -0.1932 -0.0076 0.1527 -0.1606 -0.4525 -0.2297 -0.3152 0.3082 -0.1657 0.0273 0.6115 -0.1139 -0.2836 -0.0841 -0.4076 0.0088 0.7556 -0.3695 0.3144 0.2809 0.0622 0.2201 0.4081 -0.4480 0.1609 0.3844 0.0006 0.2010 0.6847 -0.6279 -0.6199 -0.5940 -0.5327 -0.1417 -0.5802 0.0935 0.1891 0.3220 0.2975 0.1581 -0.7951 0.7662 0.1463 0.0618 -0.1744 -0.5694 -0.6003 -0.2815 0.2072 0.0655 -0.0817 0.4674 -0.2274 0.5296 -0.3111 -0.2398 -0.5233 0.1860 0.3026 -0.3302 -0.1080 -0.0559 0.4351 -0.0301 0.5064 0.7205 0.5174 -0.0342 0.8585 0.1987 0.0411 -0.0507 0.0990 -0.1219 -0.0178 0.3059 0.3170 -0.1951 -0.7662 -0.2090 0.0570 0.2217 -0.8785 0.2394 0.2453 0.6089 -0.5470 -0.0330 0.4841 0.2075 -0.0729 -0.1621 -0.3895 -0.8904 -0.3186 -0.0481 -0.3479 -0.1071 -0.0601 0.3548 -0.4403 0.2610 0.1760 0.7389 0.3950 -0.0848 -0.4017 0.4266 -0.3536 -0.3203 -0.6671 -0.0697 -0.5183 -0.3654 -0.0970 0.4209 0.6660 0.3831 0.0612 -0.3664 0.0807 -0.4412 0.3605 0.7926 0.4394 0.6065 -0.7204 0.2546 -0.3633 -0.5788 -0.5178 -0.5565 -0.1363 0.6631 -0.3883 -0.0159 -0.8875 -0.2291 -0.1563 -0.7098 0.5201 -0.0395 0.8904 0.4703 0.3960 0.2005 0.0582 -0.6620 0.5480 0.5580 0.2919 0.5541 0.3168 -0.9495 -0.8333 -0.7845 -0.1338 0.4028 0.5476 0.1172 -0.9842 0.1029 0.0986 -0.1060 -0.3599 0.6724 -0.1903 0.7076 0.2337 -0.0446 -0.1107 -0.2820 0.1991 -0.1359 -0.2455 -0.9743 -0.0588 0.2309 0.8561 0.0654 -0.5078 0.3556 0.1620 0.4531 0.3374 0.2375 -0.5716 0.5632 -0.4275 -0.1056 -0.1951 0.2659 -1.0951 0.4419 -0.4905 0.3387 0.1454 0.7738 0.5488 -0.1856 0.9091 -0.2801 -0.5387 -0.1921 -0.1776 0.1818 0.0328 0.4397 0.5422 -0.3121 -0.1097 -0.4251 -1.4804 -0.0117 0.2012 0.3562 -0.7029 0.4486 0.3344 -0.4861 0.0063 -0.7187 -0.3091 0.7240 0.6699 0.3239 -0.1987 -0.6077 -0.2540 0.2003 0.8084 0.7762 -0.2350 0.0293 0.4720 0.3072 0.1202 0.1659 -0.1834 -0.0185 -0.2352 -0.7081 -0.2282 -0.3236 0.4145 -0.1915 0.1940 0.2924 -0.2986

类别

Help CenterFile Exchange 中查找有关 Loops and Conditional Statements 的更多信息

标签

产品


版本

R2019a

Community Treasure Hunt

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

Start Hunting!

Translated by