how to vectrorized this code?

1 回表示 (過去 30 日間)
Siddhesh Karbhari
Siddhesh Karbhari 2017 年 10 月 9 日
編集済み: Jan 2017 年 10 月 9 日
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

採用された回答

Jan
Jan 2017 年 10 月 9 日
編集済み: Jan 2017 年 10 月 9 日
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);

その他の回答 (1 件)

KL
KL 2017 年 10 月 9 日
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 件のコメント
Jan
Jan 2017 年 10 月 9 日
+1 for the optimal creation of denp.

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

カテゴリ

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

製品

Community Treasure Hunt

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

Start Hunting!

Translated by