相关疑难解决方法(0)

下标索引必须是实数正整数或逻辑,通用解决方案

以下错误经常发生:

下标索引必须是实数正整数或逻辑

我发现了很多关于这个的问题,但没有一个有一个非常通用的答案.因此,我希望有解决这个问题的一般解决方案.

debugging matlab

40
推荐指数
2
解决办法
9万
查看次数

角落案例,意外和不寻常的MATLAB

多年来,在阅读其他代码时,我遇到并收集了一些MATLAB语法的例子,这些例子起初可能不常见且违反直觉.请随时评论或补充此列表.我用r2006a验证了它.


MATLAB 总是将函数的第一个输出参数(如果它至少有一个)返回到其调用者工作空间,如果调用函数而不返回参数,myFunc1(); myFunc2();则调用者工作空间仍然会包含第一个输出myFunc2();为"不可见" ans变量.如果它ans是一个参考对象,它可以发挥重要作用- 它将保持活力.


set([], 'Background:Color','red')
Run Code Online (Sandbox Code Playgroud)

MATLAB有时很宽容.在这种情况下,将属性设置为对象数组也可以使用无意义属性,至少在数组为空时.这种阵列通常来自harray = findobj(0,'Tag','NotExistingTag')


myArray([1,round(end/2)])
Run Code Online (Sandbox Code Playgroud)

end关键字的使用可能看起来不干净,但有时非常方便而不是使用length(myArray).


any([]) ~= all([])
Run Code Online (Sandbox Code Playgroud)

惊人地any([])返回falseall([])返回true.我一直认为那all更强大any.

编辑:

不为空的参数all()返回true给值的子集为其中any()返回true(例如真值表).这意味着any() false暗示all() false.MATLAB以[]参数的形式违反了这个简单的规则.

洛伦还在博客上写了这篇文章.


Select(Range(ExcelComObj))
Run Code Online (Sandbox Code Playgroud)

程序样式COM对象方法调度.不要奇怪exist('Select')回报为零!


[myString, myCell]
Run Code Online (Sandbox Code Playgroud)

在这种情况下,MATLAB将字符串变量隐式转换myString为单元格类型{myString}.如果我不希望它这样做,它也可以工作.


[double(1.8), uint8(123)] => 2 123 …
Run Code Online (Sandbox Code Playgroud)

matlab

28
推荐指数
3
解决办法
6671
查看次数

如何在Matlab中选择子矩阵(不是任何特定的模式)

如何在Matlab中选择子矩阵(不是任何模式)?例如,对于大小为10乘10的矩阵,如何选择由第1和第9行以及第4和第6列的交点组成的子矩阵?

谢谢你的任何有用的答案!

matlab matrix matrix-indexing

17
推荐指数
2
解决办法
6万
查看次数

以特定的非串行顺序连接向量

我有载体a,bc; 向量ab包含整数,而向量c具有二进制值作为元素:(0,1).

向量a长度为n,向量b长度为k.矢量c长度为n + k.

我想连接向量ab基于向量c.

例如.如果c=[1 0 0 1 0 . . . . ]那时我想创建矢量res=[a(1) b(1) b(2) a(2) b(3) . . . ].

没有for循环,有没有办法这样做?

matlab vector vectorization

4
推荐指数
1
解决办法
50
查看次数

如何使用IPP将RGB转换为NV12色彩空间

像Intel®MediaSDK这样的视频编码器需要NV12视频输入格式.

NV12格式是YUV 4:2:0格式,在存储器中排序,首先是Y平面,然后是交错UV平面中的打包色度样本.

例:
YYYYYY
YYYYYY
UVUVUV

在此输入图像描述

RGB颜色格式,指像素级RGB(每像素字节,低字节为红色):
RGBRGBRGBRGBRGB
RGBRGBRGBRGBRGB

在此输入图像描述

我做了一些网络研究,发现对于NV12,YUV被定义为YCbCr色彩空间.目前至少有两种可能的YCbCr格式适用于NV12:

我的问题是:是否有将IP色彩空间转换为NV12的IPP功能?

c rgb yuv intel-ipp nv12-nv21

3
推荐指数
1
解决办法
4481
查看次数

在MATLAB中,如何在每次值从1变为0时在向量中找到索引?

我有一个1和0的向量,表示何时发生间歇性数据信号.例如:

    V = [0,0,0,0,1,1,1,1,1,0,0,0,0,0,1,1,1,0,0,0,1,1,1,1,1,1,1,0,0,0];
Run Code Online (Sandbox Code Playgroud)

如何找到从1到0的每个变化的索引值?所以对于上面的矢量V,答案是:

    idx = [10,18,28];
Run Code Online (Sandbox Code Playgroud)

indexing matlab vector

3
推荐指数
2
解决办法
179
查看次数

填充具有1的特定数字的零矩阵

我遇到了问题.我有一个零矩阵600x600.我需要1随机填充这个矩阵1080 秒.有什么建议?

matlab matrix

1
推荐指数
1
解决办法
160
查看次数

A(输入)在最常见的输入中做了什么?

我正在使用简单的矩阵并得到一些奇怪的东西.

A = 
2 3 
5 6 
8 9
Run Code Online (Sandbox Code Playgroud)

而我这样做了.

A([1 3],[1 2 2]) 

ans = 
2 3 3 
8 9 9
Run Code Online (Sandbox Code Playgroud)

而我这样做了.

A([1 3],[1 2]) 

ans = 
2 3 
8 9
Run Code Online (Sandbox Code Playgroud)

我无法弄清楚为什么MatLab有这个结果.

或者,更一般地说,A(输入)在最常见的输入中做了什么?

matlab

0
推荐指数
1
解决办法
29
查看次数

如何根据另一个向量的条件选择向量值

在我的数据中,我想说有两个向量:

column1  column2 

40.0000    1.2000
41.0000    1.2000
42.0000    1.2000
43.0000    1.2000
44.0000    1.2000
45.0000    1.2000
46.0000    1.2000
47.0000    1.2000
48.0000    1.2000
49.0000    1.2000
50.0000    1.2000
Run Code Online (Sandbox Code Playgroud)

column1温度在哪里,column2是流速.

我想要的是确定当温度高于45摄氏度时条件的流速总和是多少.即,在上述示例中,column2仅当温度in column1大于45摄氏度时的总流速.

我怎样才能做到这一点?

matlab vector conditional-statements

-1
推荐指数
1
解决办法
96
查看次数