第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號(hào)安全,請(qǐng)及時(shí)綁定郵箱和手機(jī)立即綁定
已解決430363個(gè)問(wèn)題,去搜搜看,總會(huì)有你想問(wèn)的

與Mat的R代表類似的函數(shù)

與Mat的R代表類似的函數(shù)

呼啦一陣風(fēng) 2019-08-28 14:18:16
與Mat的R代表類似的函數(shù)我正在尋找一個(gè)rep與Matlab中R函數(shù)類似的函數(shù)。例如,rep我可以執(zhí)行以下操作:> rep(c(1,2,3),times=3)[1] 1 2 3 1 2 3 1 2 3> rep(c(1,2,3),each=3)[1] 1 1 1 2 2 2 3 3 3>在matlab中有repmat函數(shù),它完成了第一部分>> repmat([1,2,3],1,3)ans =      1     2     3     1     2     3     1     2     3但不是第二部分(或者至少我不明白該怎么做)。有什么建議?
查看完整描述

3 回答

?
慕勒3428872

TA貢獻(xiàn)1848條經(jīng)驗(yàn) 獲得超6個(gè)贊

您可以通過(guò)首先定義一個(gè)函數(shù),如下所示,在R中重現(xiàn)rep函數(shù)的語(yǔ)法:

function [result]=rep(array, count)matrix = repmat(array, count,1);result = matrix(:);

然后,您可以通過(guò)使用行或列向量調(diào)用來(lái)重現(xiàn)所需的行為:

>> rep([1 2 3],3)ans =
 1     1     1     2     2     2     3     3     3>> rep([1 2 3]',3)
ans =
 1     2     3     1     2     3     1     2     3

注意我在第二次調(diào)用中使用了transpose(')運(yùn)算符將輸入數(shù)組作為列向量(3x1矩陣)傳遞。

我在筆記本電腦上對(duì)此進(jìn)行了基準(zhǔn)測(cè)試,并且對(duì)于重復(fù)100次的100,000個(gè)元素的基本陣列,它比使用上面的ceil選項(xiàng)快2到8倍,具體取決于您是否需要第一個(gè)或第二個(gè)排列。


查看完整回答
反對(duì) 回復(fù) 2019-08-28
?
浮云間

TA貢獻(xiàn)1829條經(jīng)驗(yàn) 獲得超4個(gè)贊

好問(wèn)題+1。完成此任務(wù)的簡(jiǎn)潔單線方法是通過(guò)Kronecker張量積,例如:

A = [1 2 3];N = 3;B = kron(A, ones(1, N));

然后:

B =

     1     1     1     2     2     2     3     3     3

更新: @Dan提供了一個(gè)非常簡(jiǎn)潔的解決方案,看起來(lái)比我的kron方法更有效,所以在離開(kāi)頁(yè)面前檢查答案:-)

更新: @bcumming還提供了一個(gè)很好的解決方案,當(dāng)輸入向量很大時(shí),它應(yīng)該非常好地?cái)U(kuò)展。


查看完整回答
反對(duì) 回復(fù) 2019-08-28
?
臨摹微笑

TA貢獻(xiàn)1982條經(jīng)驗(yàn) 獲得超2個(gè)贊

如果像我一樣你不知道Kronecker張量產(chǎn)品是什么,你可能會(huì)對(duì)這個(gè)更直觀(實(shí)際上我認(rèn)為更快)的解決方案感興趣:

c(ceil((1:length(c)*n)/n));

所以我在這里用矢量索引來(lái)復(fù)制矩陣。例如,使用上面的兩個(gè)案例,我們可以做到:

c = 1:3;c([1 1 1 2 2 2 3 3 3]) %for each
c([1 2 3 1 2 3 1 2 3]) %for times

所以問(wèn)題是如何在沒(méi)有你要求的功能的情況下制作矢量[1 2 3 1 2 3 1 2 3]。所以我用我們需要的元素?cái)?shù)量(即1:9)然后除以3并向上舍入(即ceil((1:9)/3)在命令行中嘗試)。

一些基準(zhǔn)測(cè)試(我知道這些東西應(yīng)該在循環(huán)中,所以這可能不是那么準(zhǔn)確):

c = 1:3; n = 3;tic; k = kron(c, ones(1, n)); toc; % 0.000208 seconds.tic; a = c(ceil((1:length(c)*n)/n)); toc;  % 0.000025 seconds.clear;c = 1:1000000; n = 3;tic; k = kron(c, ones(1, n)); toc; % 0.143747 seconds.tic; a = c(ceil((1:length(c)*n)/n)); toc;  % 0.090956 seconds.clear;c = 1:10000; n = 1000;tic; k = kron(c, ones(1, n)); toc; % 0.583336 seconds.tic; a = c(ceil((1:length(c)*n)/n)); toc;  % 0.237878 seconds.


查看完整回答
反對(duì) 回復(fù) 2019-08-28
  • 3 回答
  • 0 關(guān)注
  • 658 瀏覽

添加回答

舉報(bào)

0/150
提交
取消
微信客服

購(gòu)課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號(hào)

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號(hào)