Tag: matlab

在MATLAB中查找当前m文件的位置

我正在许多不同的地方工作我的MATLAB代码,如果我能让代码知道它在计算机上的位置,这将非常有帮助。 我认为有一个函数可以提供给我这些信息,但是我不记得它是什么,或者在Google上find它。 这个想法是,我有一个函数myFunc需要一个文件在自己的目录,可以在不同的计算机上的不同位置。 所以在myFunc我想要做这样的事情: dir = theFunctionImLookingFor; system(fullfile(dir, 'someApp.exe')); (也可能是我正在查找的函数不会返回目录,而是目录+ m文件名,但对我来说没有什么区别。)

导入具有混合数据types的CSV文件

我正在使用MATLAB几天,我很难导入CSV文件到matrix。 我的问题是我的CSV文件几乎只包含string和一些整数值,所以csvread()不起作用。 csvread()只能与整数值一起得到。 如何将我的string存储在某种二维数组中以便可以自由访问每个元素? 以下是我的需求的CSV示例: 04;abc;def;ghj;klm;;;;; ;;;;;Test;text;0xFF;; ;;;;;asdfhsdf;dsafdsag;0x0F0F;; 主要是空单元格和单元格内的文本。 如你所见,结构可能会有所不同。

libsvm中的多类分类

我正在使用libsvm ,我必须实现一个对所有的多类的分类。 我该怎么做? libsvm版本2011是否使用这个? 我觉得我的问题不是很清楚。 如果libsvm不自动使用一个对所有,我将使用一个svm每个类,否则我怎么能定义这个参数在svmtrain函数。 我已经阅读了libsvm的README。

自动绘制不同的彩色线条

我试图在同一个图上绘制几个内核密度估计,我希望它们都是不同的颜色。 我有一个使用string'rgbcmyk'并逐步通过它每个单独的阴谋kludged解决scheme,但我开始有7个迭代后重复。 有没有更容易/更有效的方法来做到这一点,并有更多的颜色select? for n=1:10 source(n).data=normrnd(rand()*100,abs(rand()*50),100,1); %generate random data end cstring='rgbcmyk'; % color string figure hold on for n=1:length(source) [f,x]=ksdensity(source(n).data); % calculate the distribution plot(x,f,cstring(mod(n,7)+1)) % plot with a different color each time end

在MATLAB中稳定准确的

MATLAB的内置函数accumarray接受函数fun作为第四个参数。 A = accumarray(subs,val,sz,fun); 这对val中每个具有相同下标的元素的子集适用fun 。 但是文件指出: 如果subs中的下标不是按照它们的线性索引进行sorting的, fun不应该依赖于其input数据中值的顺序。 我们怎样才能实现稳定的accumarray版本,它没有这个限制,但是会保证子集采用与val给出的相同的顺序? 例: subs = [1:10,1:10]; val = 1:20; accumarray(subs(:), val(:), [], @(x)x(end)).' 如果accumarray是稳定的话,预期的输出是11:20 。 其实输出是: ans = 11 12 13 14 5 6 7 18 19 20 我们的实施应该产生: accumarrayStable(subs(:), val(:), [], @(x)x(end)).'` ans = 11 12 13 14 15 16 17 18 19 20

字符重build和OCR填充

我正在轮胎上进行文字识别。 为了使用OCR,我必须先得到一个清晰的二进制地图。 我已经处理了图像,文本出现了断开和停止的边缘。 我已经在MATLAB中尝试过使用圆形光盘和线条元素进行标准侵蚀/扩大,但这并没有真正的帮助。 Pr1-关于如何重build这些angular色,填补angular色间的差距? Pr2-上面的图像是更高的分辨率和良好的照明。 但是,如果照度较差,分辨率相对较低,那么处理的可行select是什么? 解决scheme尝试 S1:这是将中值滤波应用于Spektre共享的处理图像的结果。 为了消除噪声,我应用了一个中值滤波器(5×5),然后用线元素(5,11)进行图像膨胀。 即使现在OCR(Matlab 2014b)只能识别一些字符 无论如何,非常感谢迄今为止的build议。 我仍然会等待,看看是否有人可以build议不同的东西,也许想出了盒子:)。 Matlab实现下面Spektre代码步骤的结果(没有中风扩张(按照1,2,3,4: 并且具有阈值tr0 = 400和tr1 = 180以及用于归一化的angular点顺序1,3,2,4 最好的祝福 Wajahat

加载目录中的所有图像

我有一个目录中的某些图像,我想加载所有这些图像做一些处理。 我尝试使用loadfunction。 imagefiles = dir('F:\SIFT_Yantao\demo-data\*.jpg'); nfiles = length(imagefiles); % Number of files found for i=1:nfiles currentfilename=imagefiles(i).name; I2 = imread(currentfilename); [pathstr, name, ext] = fileparts(currentfilename); textfilename = [name '.mat']; fulltxtfilename = [pathstr textfilename]; load(fulltxtfilename); descr2 = des2; frames2 = loc2; do_match(I1, descr1, frames1, I2, descr2, frames2) ; end 我得到一个错误,因为无法读取xyz.jpg找不到这样的文件或目录,其中xyz是我的第一个图像在该目录中。 我也想从目录加载所有格式的图像,而不是只是JPG格式…我怎么能这样做?

运营商“点”(。)是什么意思?

给定代码: A = [1 2 3; 3 2 1] B = A.^2 输出 : B = 1 4 9 9 4 1 但是,如果我这样做: B = A^2 输出是: Error using ^ Inputs must be a scalar and a square matrix. To compute elementwise POWER, use POWER (.^) instead. 操作员是什么? 准确地做?

访问子文件夹中的m文件,而不将其永久添加到path中

我已经下载了许多子文件夹( 空间计量经济学工具箱 )中的许多文件的工具箱 ,用于一个特定的项目,我不想把它添加到path,因为我不认为我会养成使用它,我不知道是否要隐藏function说在统计工具箱。 如何访问此工具箱中的function? 有没有一种方法,可能编程方式将其添加到该path的脚本被调用的特定会话的Matlab? 处理这个问题的正确方法是什么?

数组中最大值和最小值的索引

我怎样才能find没有循环数组中的最大元素的索引? 例如,如果我有: a = [1 2 999 3]; 我想定义一个函数indexMax以便indexMax(a)将返回3 。 同样用于定义indexMin 。