• 5星
135.91MB qq_34351067 2021-04-16 14:11:28
• 5星
40KB weixin_46567845 2021-08-06 21:39:04
• 5星
9KB weixin_42696271 2021-09-11 02:49:23
• 5星
3KB weixin_44410704 2021-06-07 11:35:12
• 4星
1.54MB qq_41934573 2021-05-19 13:39:28
• 5星
68KB u013883025 2021-06-06 11:45:30
• 5星
326KB weixin_42120750 2021-04-26 16:06:08
• 5星
48.93MB gu5218 2021-09-07 22:31:07
• 5星
6.1MB KOBEYU652453 2021-05-25 09:15:35
• 5星
2KB weixin_45479707 2021-06-30 14:17:26
• ## MATLAB矩阵复制及扩充 matlab 矩阵

TIPS:【原矩阵】处可用用户自定义的矩阵变量代替    即Mat = [ 1 2 3; 4 5 6]，可用Mat替代function中原矩阵的位置 例二：（行方向和列方向分别平铺矩阵，红框2，3表示平铺倍数） 例三：（列方向平铺矩阵，红...


文章目录
一、repmat（）方法二、Kron（）方法

一、repmat（）方法
例一：（行方向和列方向分别平铺矩阵，红框2，3表示平铺倍数）  TIPS:【原矩阵】处可用用户自定义的矩阵变量代替    即Mat = [ 1 2 3; 4 5 6]，可用Mat替代function中原矩阵的位置   例二：（行方向和列方向分别平铺矩阵，红框2，3表示平铺倍数）  例三：（列方向平铺矩阵，红框2表示平铺矩阵的倍数） 例四：（行方向平铺矩阵，红框3表示平铺矩阵的倍数）
二、Kron（）方法
kron(A, B) : 即使用A的元素数乘B矩阵，并向行列方向分别扩展 话不多说，上例题：
展开全文
wzu19class 2021-02-05 11:22:33
• ## 在matlab中扩展矩阵？ (expand matrix in matlab?) matlab拓展矩阵

Let us assume some working code to resemble your pseudo-code.%// Original codefor i = 1:10if rand(1)>0.5data1 = rand(2,1)K = [data1(1) data1(2) i]endendChanges for "pushing data without initializat...

Let us assume some working code to resemble your pseudo-code.
%// Original code
for i = 1:10
if rand(1)>0.5
data1 = rand(2,1)
K = [data1(1) data1(2) i]
end
end
Changes for "pushing data without initialization/pre-allocation":
To save data at each iteration we keeping on "stacking" data along a chosen dimension. This could be thought of as pushing data. For a 2D case, use either a "row vector push" or a "column vector push". For this case we are assuming a former case.
We don't index into K using the original iterator, but use a custom one,
that only increments when the condition is satisfied.
The code below must make it clear.
%// Modified code
count = 1; %// Custom iterator; initialize it for the iteration when condition would be satisfied for the first time
for i = 1:10
if rand(1)>0.5
data1 = rand(2,1)
K(count,:) = [data1(1) data1(2) i] %// Row indexing to save data at each iteration
count = count +1; %// We need to manually increment our custom iterator
end
end

展开全文
weixin_39958911 2021-04-22 13:30:50
• ## Matlab矩阵复制扩充 Matlab 矩阵

考虑这个问题：定义一个简单的行...　关键函数１： repmat( A , m , n )：将向量／矩阵在垂直方向复制m次，在水平方向复制n次。 　  再举一个例子，对于 a =[1 2;3 4]:    垂直方向复制３次，水平方向复制２次，
　　考虑这个问题：定义一个简单的行向量a

如何复制10行呢？即：

同理，对于一个列向量，如何复制 10 列呢？
关键函数１： repmat( A , m , n )：将向量／矩阵在垂直方向复制m次，在水平方向复制n次。

再举一个例子，对于 a =[1 2;3 4]:

垂直方向复制３次，水平方向复制２次，结果是：

接下来进阶一下，玩点复杂的。对于 a = [1 2;3 4]，如何变成下面这样：

关键函数: kron( a , B )　：对 a 的每一个元素 e，都数乘B矩阵，构成新的矩阵。具体用法可以doc kron。
引用 Matlab 的帮助文档，对于 A 和 B，kron(A,B) 的图示如下：

回到上面的问题，对于 a=[1 2;3 4]，

展开全文
yangguangqizhi 2016-10-11 19:36:00
• 扩展/填充Matlab矩阵 我在Matlab上还很新，所以需要一个小步骤的解释。我有一些看起来像这样的MIDI数据：开/关时间10 1 6190 0 6190 1 7292 1 87100 0 72我想做的是扩大或“填补”空白，以便每时每刻都有一行，并且...

扩展/填充Matlab矩阵
我在Matlab上还很新，所以需要一个小步骤的解释。
我有一些看起来像这样的MIDI数据：
开/关时间
10 1 61
90 0 61
90 1 72
92 1 87
100 0 72
我想做的是扩大或“填补”空白，以便每时每刻都有一行，并且我有几列显示哪些音符在打开(通常同时有多个音符) )。
最终目标是对给定时间(谐波失谐)上音符之间的整体关系进行一些计算。
所以我在想，也许我需要为每个可能的音符(有127个)创建一个新列，然后每次都为1或0。或者，也许我可以有一个矩阵，它告诉我哪些音符在上面(所以列数各不相同)。
我编写了自己的伪代码，但不知道如何实现它。我怀疑有一个简单的功能可以做到这一点。这是我的伪代码：
从0开始，在时间0处为新的“注释矩阵”
对于数字：0到n
如果数字与时间列中的数字匹配，请转到该行的开/关列。
如果开/关列中为1，则将注释列中的编号复制到相应行的“注释上矩阵”
如果为0，则不要复制/不执行任何操作。
如果数字与时间列中的数字不匹配
复制上一行(如果没有注释，则可以为空白)。
对于新的“注释矩阵”中的每一行，将数字从低到高排列在不同的列中。
谁能告诉我该怎么办？我在这里撞墙撞头！
回答：
即使列表完全随机，这也是一种解决方案。它基于以下思想：向量[0 1 0 0 -1 0 0]的累加和为[0 1 1 1 0 0 0] 。这对应于时间2中的“打开”和时间5中的“关闭”。现在，我们要做的就是用1和-1填充数组，然后运行CUMSUM将其转换为在每一列中具有一个数组，每当那些声音on 。
我假设有128个音符(0-127)，并且您想在最后一刻保持沉默(如果所有音符最终都结束了)。请注意，Matlab从1开始计数，因此时间0对应于行＃1。
%# midiData is a n-by-3 array with [time,on/off,note] midiData = [... 10 1 61 90 0 61 90 1 72 92 1 87 100 0 72]; %# do not call unique here, because repeated input rows are relevant %# note values can be from 0 to 127 nNotes = 128; %# nTimepoints: find the highest entry in midiData's time-column %# add 2, because midiData starts counting time at 0 %# and since we want to have one additional timepoint in the end nTimepoints = max(midiData(:,1))+2; %# -- new solution --- %# because the input is a bit messed up, we have to use a more complicated %# solution. We'll use accumarray, with which we sum up all the %# entries for on (+1) and off (-1) for each row(time)/column(note) pair. %# after that, we'll apply cumsum %# transform the input, so that 'off' is -1 %# wherever the second col of midiData is 0 %# replace it with -1 midiData(midiData(:,2)==0,2) = -1; %# create output in one step %# for every same coordinate (time,note), sum all the %# on/offs (@sum). Force the output to be %# a nTimepoints-by-nNotes array, and fill in zeros %# where there's no information output = accumarray(midiData(:,[1 3])+1,midiData(:,2),... [nTimepoints,nNotes],@sum,0); %# cumsum, and we're done output = cumsum(output,1); 以前的解决方案，出于完整性考虑：
%# --- old solution --- %# create output array, which we'll first populate with 1 and -1 %# after which we transform it into an on-off array %# rows are timepoints, columns are notes output = zeros(nTimepoints,nNotes); %# find all on's %# onIdx is 1 if the second column of midiData is 1 onIdx = midiData(:,2) == 1; %# convert time,note pairs into linear indices for %# writing into output in one step %# Add 1 to time and note, respectively, so that we start counting at 1 plusOneIdx = sub2ind([nTimepoints,nNotes],midiData(onIdx,1)+1,midiData(onIdx,3)+1); %# write "1" wherever a note turns on output(plusOneIdx) = 1; %# now do the same for -1 offIdx = midiData(:,2) == 0; minusOneIdx = sub2ind([nTimepoints,nNotes],midiData(offIdx,1)+1,midiData(offIdx,3)+1); %# instead of overwrite the value in output, subtract 1 %# so that time/note that are both on and off become zeros output(minusOneIdx) = output(minusOneIdx) - 1; %# run cumsum on the array to transform the +1/-1 into stretches of 1 and 0 %# the 'dim' argument is 1, because we want to sum in the direction in %# which rows are counted output = cumsum(output,1); %# for fun, visualize the result %# there's white whenever a note is on imshow(output)
更多&回答...

展开全文
weixin_39981360 2021-04-21 19:51:53
• weixin_28848317 2021-04-18 08:03:32
• ## matlab矩阵之间的运算 matlab 矩阵

wang1414546766 2019-09-04 22:16:08
• weixin_39597987 2021-04-18 06:01:59
• weixin_47616793 2020-11-20 17:33:26
• weixin_42127020 2021-05-06 02:01:27
• ## Matlab 矩阵向外扩展n圈（m行n列）补0或者填充其它数值 matlab

weixin_44178960 2021-06-18 12:32:46
• weixin_36289292 2021-04-20 02:54:39
• weixin_34023576 2021-04-18 08:10:17
• ## matlab矩阵 取 一行 一列，多行 多列 matlab

sinat_28442665 2018-10-25 11:37:08
• ## MATLAB最基础矩阵教程，简单粗暴！ matlab 矩阵 数学建模

qq_43510211 2021-01-23 22:41:50
• ## python学习笔记--6.python中的matlab矩阵 python

iamsongyu 2018-09-15 12:47:21
• qq_43301351 2021-07-04 10:07:24
• ## matlab | 靶心矩阵 BullseyeMatrix matlab

BAR_WORKSHOP 2020-08-19 16:59:31
• ## matlab 向量重复扩充矩阵 matlab

m0_37052320 2018-02-02 20:05:39
• ## 如何在MATLAB中创建矩阵，将矩阵随机分组，并随机取组赋值 matlab

weixin_44911411 2021-06-30 10:49:29
• qq_43158059 2021-03-29 14:17:17
• abcabcabc12342 2019-09-28 20:52:14
• ## Matlab与线性代数 -- 矩阵的水平连接和垂直连接 matlab

LSGO_MYP 2016-12-04 17:15:18
• qq_35661896 2020-05-16 12:28:47
• ## Matlab中常数c乘以矩阵A背后的故事（个人笔记扫描版） matlab 线性代数 矩阵的乘法 笔记

• weixin_39757122 2020-12-21 20:18:56
• u013346007 2017-03-16 11:36:13
• 13KB weixin_38652270 2021-05-23 17:16:21
• ## 五种矩阵在matlab中进行图像处理（学习笔记） 1024程序员节

qq_43606934 2020-10-24 16:14:00
• sjhfkhsf 2018-11-08 08:21:24

...

matlab 订阅