无法识别的函数或变量 'dip_filtering'
Unrecognized function or variable 'dip_filtering'
我在 Matlab 中收到以下错误消息:
无法识别的函数或变量'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');
smooth函数调用这个函数:
function out = smooth(varargin)
out = gaussf(varargin{:});
依次调用 gaussf 函数:
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
smooth 和 gauss 函数似乎都是内置的,或者可能带有一些标准的附加程序包。
在进行 google 搜索时,我找不到与 matlab 和 'dip_filtering' 相关的任何内容。
smooth
和 gaussf
函数来自 DIPimage 工具箱,您的系统似乎没有正确安装它。
您可以在这里找到安装包:https://github.com/DIPlib/diplib/releases
您可以在此处找到安装说明:https://diplib.org/diplib-docs/sec_dum_installing.html
这是项目主页:https://diplib.org/。
我在 Matlab 中收到以下错误消息:
无法识别的函数或变量'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');
smooth函数调用这个函数:
function out = smooth(varargin)
out = gaussf(varargin{:});
依次调用 gaussf 函数:
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
smooth 和 gauss 函数似乎都是内置的,或者可能带有一些标准的附加程序包。
在进行 google 搜索时,我找不到与 matlab 和 'dip_filtering' 相关的任何内容。
smooth
和 gaussf
函数来自 DIPimage 工具箱,您的系统似乎没有正确安装它。
您可以在这里找到安装包:https://github.com/DIPlib/diplib/releases
您可以在此处找到安装说明:https://diplib.org/diplib-docs/sec_dum_installing.html
这是项目主页:https://diplib.org/。