how to vectrorized this code?

1 Ansicht (letzte 30 Tage)
Siddhesh Karbhari
Siddhesh Karbhari am 9 Okt. 2017
Bearbeitet: Jan am 9 Okt. 2017
close all
clear all
clc
tic;
i=1;
for k=1:1:10;
for a=1:1:10;
nump(i,:) =k*a;
denp(i,:) =[1 a 0];
i=i+1;
end
end

Akzeptierte Antwort

Jan
Jan am 9 Okt. 2017
Bearbeitet: Jan am 9 Okt. 2017
nump = (1:10) .* (1:10).'; % Auto-Expand >= Matlab R2016b
For older Matlab versions:
nump = bsxfun(@times, (1:10), (1:10).');
denp from KL's solution is perfect already. This is 2 microseconds(!) faster on my computer, but less nice:
denp = zeros(100, 3);
denp(:, 1) = 1;
denp(:, 2) = repmat((1:10)', 10, 1);

Weitere Antworten (1)

KL
KL am 9 Okt. 2017
nump = cell2mat(arrayfun(@(x) x:x:x*10,1:10,'uni',0))';
denp = [ones(100,1) repmat((1:10)',10,1), zeros(100,1)];
  1 Kommentar
Jan
Jan am 9 Okt. 2017
+1 for the optimal creation of denp.

Melden Sie sich an, um zu kommentieren.

Kategorien

Mehr zu Programming finden Sie in Help Center und File Exchange

Produkte

Community Treasure Hunt

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

Start Hunting!

Translated by