[英]Unrecognized function or variable 'dip_filtering'
我在 Matlab 中收到以下错误消息:
无法识别的 function 或变量“dip_filtering”
当我运行这段代码时,它应该显示一条带有 x 和 y 坐标的平滑数据线。
k=5;
PEAKSx = [];
PEAKSy = [];
for i=[15, 16]
myfile=['exp' num2str(i) '.txt'];
mimat=dlmread(myfile,'',1,0);
eval(['exp' num2str(i) ' = mimat;']);
clear myfile mimat1
matrix=sprintf('exp%0.0f',i);
eval(sprintf('temp_data = %s;', matrix));
tempdata_2=smooth(temp_data(:,2),5,'moving');
tempdata_1=smooth(temp_data(:,1),5,'moving');
cc=hsv(10);
[cPeaks,vPeaks,w,p] = findpeaks(tempdata_1,tempdata_2,'MinPeakProminence',(5*10^-9));
PEAKSx = [PEAKSx; vPeaks];
PEAKSy = [PEAKSy; cPeaks];
plot(tempdata_2(:,1),1e9*tempdata_1(:,1))
hold on
xlabel('E_{app} / V','fontsize',11,'fontweight','bold');
ylabel('I / nA','fontsize',11,'fontweight','bold');
end
disp('x-values y-values')
[PEAKSx PEAKSy*10^9]
调用此行时会发生错误:
tempdata_2=smooth(temp_data(:,2),5,'moving');
光滑的function称这个function:
function out = smooth(varargin)
out = gaussf(varargin{:});
进而调用高斯函数function :
function image_out = gaussf(image_in,sigma,method,varargin)
% The code below looks a little silly, but it's an easy way to not parse input arguments twice.
if nargin < 2
image_out = dip_filtering('derivative',image_in);
elseif nargin < 3
image_out = dip_filtering('derivative',image_in,0,sigma);
else
if ~ischar(method) && ~isvector(method)
error('METHOD argument must be a string');
end
if ~strcmp(method,'best') && ~strcmp(method,'kernel')
method = ['gauss',method];
end
image_out = dip_filtering('derivative',image_in,0,sigma,method,varargin{:});
end
平滑和高斯函数似乎都是内置的,或者可能带有一些标准的附加软件包。
在进行谷歌搜索时,我找不到与 matlab 和“dip_filtering”相关的任何内容。
smooth
和gaussf
函数来自 DIPimage 工具箱,您的系统上似乎没有正确安装。
你可以在这里找到安装包: https://github.com/DIPlib/diplib/releases
您可以在此处找到安装说明: https://diplib.org/diplib-docs/sec_dum_installing.html
这是项目主页: https://diplib.org/ 。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.