小编Gun*_*uyf的帖子

matlab使用自定义颜色绘制矩阵

有没有办法在绘制矩阵时指定线条的颜色.

例如:

// here is my matrix A
A = [13, 3, 4;19, 0, 1;18, 0, 2;19, 0, 1;19, 0, 1]; 
// when I am plotting it I am not in control of what color each line will be
plot(A)
Run Code Online (Sandbox Code Playgroud)

运用

plot(A, 'r')
Run Code Online (Sandbox Code Playgroud)

只是将所有东西都用红色(这是预期的)当尝试类似的东西

plot(A, ['r', 'g','b'])
Run Code Online (Sandbox Code Playgroud)

要么

plot(A, 'rgb')
Run Code Online (Sandbox Code Playgroud)

不起作用(这并不奇怪)

那么有没有办法为每一行指定颜色?

matlab

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

用正则表达式搜索单元格数组

我经常发现自己试图搜索单元格数组,就像我想用sql查询搜索数据库一样.在这种情况下,我有一些军事基地(bases.shp)

bases = shaperead('us-military-bases.shp')

然后我想过滤掉形状文件以获得空军基地,就像这样regexp({bases.FAC_NAME}','Air Force').但我得到的输出是相当麻烦的:

[]
[]
[ 4]
[]
[]
[ 9]
[]
Run Code Online (Sandbox Code Playgroud)

我确信过滤单元格数组或shapefile很常见,必须有一些好的做法.感谢您的任何见解.

我也在尝试这样的事情:

trif = arrayfun(@(x)regexp(x.FAC_NAME,'Griff','match'),af_bases)
Run Code Online (Sandbox Code Playgroud)

matlab

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

如何在matlab中找到多维矩阵中每个"切片"的最大值?

我有一个n维矩阵Q.我可以通过最后一个维度找到最大值:

m = max(Q,[],n).
Run Code Online (Sandbox Code Playgroud)

但是,我不知道如何通过最后一个"切片"找到最大值.我需要一些"喜欢"的东西

m = max(Q,[],n-1,n).
Run Code Online (Sandbox Code Playgroud)

例如,如果我有

A(:,:,1) = [1 2 3 ; 4 50 6]
A(:,:,2) = [9 8 7 ; 10 12 1]
Run Code Online (Sandbox Code Playgroud)

我想要m = [9 50].

你能帮帮我吗?

matlab max matrix multidimensional-array

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

在matlab中零填充/填充

基本上我有这样的数组:

[1 2 3 4 5 6]
Run Code Online (Sandbox Code Playgroud)

我希望有这样的数组:

[1 0 2 0 3 0 4 0 5 0 6]
Run Code Online (Sandbox Code Playgroud)

所以它L-1在数组中是零,其中L是零填充之前数组内的所有值的数量.

任何人都知道如何在Matlab中解决它?

matlab

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

根据条件改变矩阵的元素

假设我有矩阵A:

A =

 1     2     3
 4     5     6   
Run Code Online (Sandbox Code Playgroud)

对于每个元件x<2,加10,
对每一个元素x>5,添加20,和
对于每个元素2<=x<=5,添加30.

所以对于我的示例矩阵A,我需要得到以下矩阵B:

B = 

11    32    33
34    35    26
Run Code Online (Sandbox Code Playgroud)

我需要能够以一般方式执行此操作,因为实际矩阵将非常大.有什么建议?我可以使用该IF声明吗?

indexing matlab if-statement

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

如何在Matlab中检查结构数组中的空字段并存储所有非空的向量?

我有一个32x1 struct array.该数组的每个元素都有几个字段.我试图检查哪些元素是空的(完成),但后来我想创建一个包含所有非空元素的向量.

例如,我有struct array被叫satdata,我想看看该字段SVID是否为空,所以satdata(i).SVID.对于我的不同元素,SVID应该从1到32.但是如果有一个缺失的元素,那么它可以[1:4 6:10 11:32].所以我想创建一个列向量(对于这种情况)

[1;2;3;4;6;7;8;9;10;11;12;13;14;15;16;17;18;19...32].
Run Code Online (Sandbox Code Playgroud)

这是我到目前为止:

for i = 1:32
    if isempty(satdata(i).SVID)
        continue
    else
    svid = satdata(i).SVID;
     svIdVec(i,:) = svid;
    end
end
Run Code Online (Sandbox Code Playgroud)

哪个正确检查空槽,但是当我创建向量时,我得到的东西看起来像svIdVec = [0,2,3,4...32].在这种情况下,只有第一个元素为空.因此,我想得到一个31x1矢量,如[2,3,4...32].

matlab is-empty

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

哪一个是更好的iOS照片查看器:Three20或EGOPhotoViewer

我正在制作一个用于在iOS中显示图库的应用程序,我遇到了两个样本.

我想知道Three20EGOPhotoViewer之间的区别.我的意思是这两个应用程序都是由同一个开发人员(enormego)开发的.

  • 将它们用于app商店是否安全,我的意思是它可能不会被拒绝,并且与iOS6兼容?
  • 使用EGOPhotoViewer优于Three20有什么优势吗?
  • 对于缓存,线程等的任何重要功能,是否值得坚持使用Three20
  • 在代码中,几乎都使用相同的类和具有不同名称的函数.

iphone multithreading uiimageview three20 ios

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

在Matlab中对相似值进行分组

如果我有一个包含值的数组,[6712, 7023, 7510, 7509, 6718, 7514, 7509, 6247]我想要4组相似的数字,以便输出是4个矩阵:

[6247]
[6712, 6718]
[7023]
[7510, 7509, 7514, 7509]
Run Code Online (Sandbox Code Playgroud)

实现这一目标的最佳方法是什么?

matlab grouping

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

如何在MATLAB中使用ezplot来有效地绘制隐式曲线和曲面?

我需要使用其一般形式绘制2D椭圆 (x-c)'A(x-c)=1

我想知道如何使用ezplot在MATLAB中有效地完成这项工作.

matlab plot curve implicit

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

如何在Matlab中传递函数作为参数

我在m文件中定义了这个函数:

function[it,xvect,xdif,fx]=bisez(a,b,nmax,toll,fun)
it=-1;
xvect=[];
xdif=[];
fx=[];
err=toll+1;

while(it<nmax && err>toll)
x=(b+a)/2;
  if(fun(x)==0)
    err=0;
  else
    err=abs(b-a)/2;
  end
it=it+1;
xvect=[xvect;x];
xdif=[xdif;err];
fx=[fx:fun(x)];
  if(fun(x)*fun(a)>0)
    a=x;
  else
    b=x;
  end;
end;
if(it<nmax)
  fprintf('Convergence computed at step k:%d\n',it);
else
  fprinf('Iteration limit reached: %d\n',it);
end
  fprintf('Computed root: %-12.8f\n',xvect(it+1));
return
Run Code Online (Sandbox Code Playgroud)

然后,如果我尝试使用这些命令调用它:

fun=@(x)exp(x);
a=1;
b=1.5;
nmax=1000;
toll=2;
bisez(a,b,nmax,toll,fun)
Run Code Online (Sandbox Code Playgroud)

我收到此错误:

??? Undefined function or method 'bisez' for input arguments of type 'function_handle'.
Run Code Online (Sandbox Code Playgroud)

我错过了什么?

PS:我正在使用 Matlab 2007b

matlab

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

gtk中的列表框

我有一个文件存储了一些文本.现在我想用列表框显示文本gtk.我怎样才能做到这一点?

值也在动态变化.有没有办法刷新列表框?

c linux gtk listbox

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

如何将1xN向量分割为MxL向量并用零​​填充其余的向量?

我有一个矩阵

a = [1 2 3 4 5 6 7 8 9 10 11]
Run Code Online (Sandbox Code Playgroud)

我需要将其拆分为5行,并用这样的零填充未设置块的其余部分:

transformed = [ 1  2  3  4  5 ;
                6  7  8  9  10;
                11 0  0  0  0 ]
Run Code Online (Sandbox Code Playgroud)

matlab reshape

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