how to convert this code into gpuArray

tic;
z=1:0.5:10;
a=1:0.5:5;
num=kron(z,ones(1,length(a)));
i=1:length(a);
deno=zeros(9,3);
deno(i,1)=1;
deno(i,2)=a(i);
den=repmat(deno,length(z),1);
n=numel(num);
for m=1:n
sys(m)=tf(num(m),den(m,:));
end
bode(sys(m))

 採用された回答

Joss Knight
Joss Knight 2017 年 7 月 11 日
編集済み: Joss Knight 2017 年 7 月 11 日

0 投票

A blanket change would be
z=gpuArray.colon(1,0.5,10);
a=gpuArray.colon(1,0.5,5);
num=kron(z,ones(1,length(a),'gpuArray'));
i=gpuArray.colon(1,length(a));
deno=zeros(9,3,'gpuArray');
deno(i,1)=1;
deno(i,2)=a(i);
den=repmat(deno,length(z),1);
n=numel(num);
for m=1:n
sys(m)=tf(num(m),den(m,:));
end
bode(sys(m))
I believe you can vectorize away the loop for tf using cell arrays, but you probably won't gain much from that. There's no benefit using gpuArray input to tf anyway.

その他の回答 (0 件)

カテゴリ

ヘルプ センター および File ExchangeMatrix Indexing についてさらに検索

製品

質問済み:

2017 年 7 月 10 日

編集済み:

2017 年 7 月 11 日

Community Treasure Hunt

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

Start Hunting!

Translated by