簡體   English   中英

在 matlab 中將值存儲在不同維度的矩陣中

[英]Storing values in matrices with different dimensions in matlab

我的 RHSvec 是一個 51X21 矩陣。 kdpolind 是 11X51X21。 執行以下操作:

 [RHSval,kprimeind] = max(RHSvec,[],2);

給我一個 51X1 RHSval 和一個 51X1 kprimeind。
如果 kprimeind 如下:

 16 20 20 16 20 16 16

然后我想在 kdpolind 的 kprimeind 中存儲為

kdpolind(act,1,16) kdpolind(act,2,20) kdpolind(act,3,20) kdpolind(act,4,16)

...由於尺寸不匹配,我無法做到這一點。 有沒有一種簡單的方法可以做到這一點? 謝謝

如果我理解正確,你想要這樣的東西:

如何將不同大小的矩陣插入另一個矩陣的示例

sub = randn(2,3); % Will give a random matrix of 2 rows and 3 columns M = nan(3,4,5); % Creates a nan matrix of 3 by 4 by 5 M(2,2+(1:size(sub,1)),2+(1:size(sub,2))) = sub % Inserts the sub matrix into M with an offset of 2 (can be set to 0 for no offset)

會給:

 M(:,:,1) = NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN M(:,:,2) = NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN M(:,:,3) = NaN NaN NaN NaN NaN NaN 0.3252 -0.7549 NaN NaN NaN NaN M(:,:,4) = NaN NaN NaN NaN NaN NaN 1.3703 -1.7115 NaN NaN NaN NaN M(:,:,5) = NaN NaN NaN NaN NaN NaN -0.1022 -0.2414 NaN NaN NaN NaN

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM