小编And*_*uri的帖子

MATLAB git by命令窗口

我在开发代码时使用MATLABs git支持,经常提交,推送和所有标准的源代码控制.

但是,我只使用MATLABs用户界面,基本上可以通过右键单击文件夹并浏览菜单直到找到正确的选项(见下图).

有没有办法制作MATLABs命令窗口运行git命令,而不是每次都需要通过菜单导航?

在此输入图像描述

git matlab

7
推荐指数
2
解决办法
2692
查看次数

多元正态分布Matlab,概率区域

我有2个数组:一个有x坐标,另一个有y坐标.由于蒙特卡罗模拟,两者都是正态分布.我知道如何找到两个阵列的sigma和mu,并获得95%的置信区间:

[mu,sigma]=normfit(x_array);
hist(x_array);
x=norminv([0.025 0.975],mu,sigma)
Run Code Online (Sandbox Code Playgroud)

但是,两个阵列都是相互关联的.为了绘制组合阵列的概率分布,我使用多元正态分布.在MATLAB中,这给了我:

[MuX,SigmaX]=normfit(x_array);
[MuY,SigmaY]=normfit(y_array);
mu = [MuX MuY];
Sigma=cov(x_array,y_array);
x1 = MuX-4*SigmaX:5:MuX+4*SigmaX; x2 = MuY-4*SigmaY:5:MuY+4*SigmaY;
[X1,X2] = meshgrid(x1,x2);
F = mvnpdf([X1(:) X2(:)],mu,Sigma);
F = reshape(F,length(x2),length(x1));
surf(x1,x2,F);
caxis([min(F(:))-.5*range(F(:)),max(F(:))]);
set(gca,'Ydir','reverse')
xlabel('x0-as'); ylabel('y0-as'); zlabel('Probability Density');
Run Code Online (Sandbox Code Playgroud)

在此输入图像描述

到现在为止还挺好.现在我想计算95%的概率区域.我正在寻找一个功能mndinv,就像norminv.然而,MATLAB中不存在这样的功能,这是有道理的,因为有无穷无尽的可能性......有人有关于如何获得95%概率区域的提示吗?提前致谢.

matlab normal-distribution

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

如何缓存3D纹理内存?

我有一个应用程序,其中96%的时间花在3D纹理内存插值读取(图中的红点).

我的内核被设计为在任意穿过纹理存储器的行上执行1000次内存读取,每行一个线程(蓝线).这条线密集,彼此非常接近,几乎平行的方向行进.

图像显示了我所谈论的概念.想象一下,图像是来自3D纹理存储器的单个"切片",例如z=24.对所有人重复图像z. 在此输入图像描述

目前,我正在一个接一个地执行线程,但我意识到如果我在相同的块中调用相邻的行,我可能能够从纹理存储器局部性中受益,从而减少了内存读取的时间.

我的问题是

  • 如果我有线性插值的3D纹理,我怎样才能从数据局部获益最多?通过在2D中的相同块或3D中的相邻行中运行相邻线(3D邻居或每个切片只是邻居)?

  • 缓存的"大"程度(或者如何在规范中检查)?是否会加载例如所要求的体素和每个方向的+ -50?这将与我在每个块中放置的相邻线的数量直接相关!

  • 插值如何应用于纹理内存缓存?插值是否也在高速缓存中执行,或者插值是否会减少内存延迟,因为它需要在文本内存中完成?


使用NVIDIA TESLA K40,CUDA 7.5,如果有帮助的话.

cuda

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

在嵌套的单元格单元中随机选择成员的位置:Matlab

我有一个嵌套的单元格细胞,如下所示:

CellArray={1,1,1,{1,1,1,{1,1,{1,{1 1 1 1 1 1 1 1}, 1,1},1,1},1,1,1},1,1,1,{1,1,1,1}};

我需要随机选择一个位置CellArray.所有成员的位置CellArray必须在随机选择过程中具有相同的机会.谢谢.

random matlab multidimensional-array cell-array

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

在Visual Studio 08中将鼠标悬停时的功能信息显示

我只是想知道一种格式,就是我必须在函数中编写注释,以便在将鼠标悬停在函数上时显示它们。

就像是

void myfunct(int a; char b, float c);

This function just messes with the variables with no objetive 
but to show people from stackoverflow what I mean.
Inputs-> a: does nothing
         b: neither this one
         c: nope
Run Code Online (Sandbox Code Playgroud)

因此,当我在一个大型项目中使用这些函数时,我不需要去寻找那个特定函数是什么或那个变量的含义是什么。

c++ mouse function visual-studio-2008

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

扩展卡尔曼滤波器收敛到错误值,这只是野兽的本性吗?(图片)

我设计了一个四元数扩展卡尔曼滤波器,用于融合陀螺仪和加速度计数据。估计图的形状似乎很完美,但估计似乎不断收敛到错误的解决方案。这仅仅是因为我没有使用像线性卡尔曼滤波器这样的最佳估计器,还是应该可以使用 EKF 获得无偏估计?到目前为止,我已经使用了两种不同的实现,并且两次都遇到了相同的问题。

这是过滤器输出的图: 在此处输入图片说明

  • 绿色:仅从加速度计估计的角度
  • 蓝色:集成陀螺仪输出
  • 红色:线性 KF 输出
  • 青色:EKF 输出,注意偏移

这是一次迭代的matlab代码:

function [ q, wb ] = EKF2( a,w,dt )


persistent x P;

% Tuning paramaters
Q = [0, 0, 0, 0, 0, 0, 0;
    0, 0, 0, 0, 0, 0, 0;
    0, 0, 0, 0, 0, 0, 0;
    0, 0, 0, 0, 0, 0, 0;
    0, 0, 0, 0, 0.01, 0, 0;
    0, 0, 0, 0, 0, 0.01, 0;
    0, 0, 0, 0, 0, 0, 0.01];

R = …
Run Code Online (Sandbox Code Playgroud)

matlab signal-processing filter kalman-filter

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

Matlab计算错误的曲面法线?

我有一个很大的FEM模型,从中我可以得到模型的"表面",比如定义FEM模型表面的元素和顶点.为了绘图目的(好的情节总是一个胜利!)我想很好地绘制它.我的方法就是使用

lungs.Vertex=vtx;
lungs.Faces=fcs;
patch(lungs,'facecolor','r','edgecolor','none')
Run Code Online (Sandbox Code Playgroud)

注意:我需要edgecolor none,因为这是4D数据,并且不同的FEM具有不同的三角测量,如果绘制边缘,则用户将头晕.

在此输入图像描述

然而,这将输出一个非常纯红色的一切,这是不好的(因为它不能显示图的复杂性,这是肺,为细节的细心).

因此我决定使用ligthing:

camlight; camlight(-80,-10); lighting phong; 
Run Code Online (Sandbox Code Playgroud)

但同样,这并不完全正确.实际上似乎Matlab没有正确计算补丁nromals.

在此输入图像描述

我的假设是,补丁并不总是逆时针定义,因此一些法线会走向错误的方向.然而,这是不容易检查的事情.

任何人都有类似的问题,或者我应该怎样解决这个问题,以便在这里绘制一个漂亮的表面?

编辑

只是为了摇动绘图,这是@magnetometer回答得到的结果:

在此输入图像描述

matlab plot lighting

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

如何确定将颜色与matlab中的热图中的值相关联?

我有一个整数矩阵M(1,2或3).我想用热图表示它并将固定颜色与1,2和3相关联.我使用这段代码:

map = [1, 1, 0;  % color for 1 (yellow)
       1, 0.5, 0 ; % color for 2 (orange)
       0, 1, 0.5]; % color for 3 (green)

HeatMap(M,'Colormap',map,'Symmetric','false'); 
Run Code Online (Sandbox Code Playgroud)

当M包含至少一个1,一个2和一个3时,没有任何问题.但是当M仅包含3个时,热图不是我想要的(全绿色).我怎么解决这个问题?

matlab plot heatmap matlab-figure

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

MATLAB:删除行热键?

我的触控板使用起来不太舒服,所以我的目标是仅使用键盘进行编码。无论我将其设置为哪个键,我的“kill line”热键都不起作用。我确实取消了所有冲突的分配。

简单的问题:有没有办法制作一个热键,它将删除光标(插入符号)当前所在的代码行(不仅是光标之后的所有代码,就像kill-line 应该做的那样)?

keyboard matlab

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

使用NVIDIA visual Profiler分析MATLAB mex CUDA应用程序

我正在尝试分析嵌入在mex文件中的CUDA代码,该代码来自MATLAB.在win7 x64机器上运行,MATLAB r2014b

代码结构如下:

 MATLAB   test.m
    ->contains some standard code generating variables (and calling 1 or 2 minor own MATLAB fucntions)
    -> calls testcuda.mex
        ->contains small, standard, no library C++ code
        -> calls either test1.cu or test2.cu
              ->.cu files end in cudaDeviceReset();
Run Code Online (Sandbox Code Playgroud)

我做了以下,如互联网上的几个地方所述:

  1. 编译的mex文件.测试他们.他们工作.
  2. exit在test.m结束时添加.
  3. 启动NVIDIA Visual Profiler.文件 - >新会话.
  4. 例如,添加Matlab可执行文件的完整路径 C:\Program Files\MATLAB\R2014b\bin\matlab.exe
  5. 工作目录:添加Matlab .m文件的完整路径. C:\CUDA_MATLABtests\MyToolbox
  6. 参数: -nojvm -nosplash -r test

但是,当我运行探查器时,我得到了

======== Warning: No CUDA application was profiled, exiting
Run Code Online (Sandbox Code Playgroud)

仅此而已.

我错过了一些指示?

是否有任何特定的代码结构会导致探查器无法分析?

matlab cuda mex

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