24小时热门版块排行榜    

查看: 2176  |  回复: 11

xym_1900

铜虫 (小有名气)

[求助] 请问您有接触过用Matlab实现三角形内插值法?我有一个程序...

请问您有接触过用Matlab实现三角形内插值法?我有一个程序,但运作过程总会出现错误,能和您交流交流? @月只蓝

发自小木虫IOS客户端
回复此楼
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
回帖支持 ( 显示支持度最高的前 50 名 )

月只蓝

主管区长 (职业作家)

引用回帖:
3楼: Originally posted by xym_1900 at 2016-11-24 10:37:09
网上下载的一个工具,运行总会出问题,该程序据介绍用于三维荧光数据的预处理。...

你并没有给出具体数据,原代码中是要求给出输入的。
原代码中已经说明了如何调用这段程序并给出了例子:
把原m文件保存在MATLAB当前运行目录中,在主程序窗口,先输入X,然后调用:
NewEEM = eemscat( X,  [20 20],   [10 10],   [10 10]);
               
其中特别要注意对输入的要求:
其中 X必须满足:      X-array of EEMs. X is size IxJxK, where I is number of
%           samples, J emissions and K excitations. X has to be a
%           dataset object where the axisscales contain wavelengths.
如果现有X的数据格式不满足:You can convert an array to a dataset doing
%           X = dataset(X);
%           X.axisscale{2} = EmAx; % The emission wavelengths (nm)
%           X.axisscale{3} = ExAx; % The excitation wavelengths (nm)
%

对于输入量: RayeleighWitdth
%           RayeleighWitdth is a two-element vector defining how many nanometers
%           to the left and right of the Rayleigh center is removed. Use
%           [0 0] to avoid removing. Default if not given is [25 25];
%
%
对于输入量: RamanWidth
%           As above but for Raman. Default is [0 0]. Assumes water samples
%           (for the position of the Raman scatter)
%
对于输入量: Rayleigh2Width
%           As above but for second order Rayleigh scatter. Default is none
%           [0 0].
%
%                  %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%                                        Example:

» 本帖已获得的红花(最新10朵)

MATLAB、MS小问题、普通问题请发帖求助!时间精力有限,恕不接受无偿私信求助。
4楼2016-11-24 14:14:29
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
普通回帖

月只蓝

主管区长 (职业作家)

方便的话把程序发出来。

» 本帖已获得的红花(最新10朵)

MATLAB、MS小问题、普通问题请发帖求助!时间精力有限,恕不接受无偿私信求助。
2楼2016-11-23 19:47:54
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

xym_1900

铜虫 (小有名气)

送红花一朵
引用回帖:
2楼: Originally posted by 月只蓝 at 2016-11-23 19:47:54
方便的话把程序发出来。

网上下载的一个工具,运行总会出问题,该程序据介绍用于三维荧光数据的预处理。

» 本帖附件资源列表

  • 欢迎监督和反馈:小木虫仅提供交流平台,不对该内容负责。
    本内容由用户自主发布,如果其内容涉及到知识产权问题,其责任在于用户本人,如对版权有异议,请联系邮箱:xiaomuchong@tal.com
  • 附件 1 : eemscat.m
  • 2016-11-24 10:33:50, 7.14 K
3楼2016-11-24 10:37:09
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

xym_1900

铜虫 (小有名气)

引用回帖:
4楼: Originally posted by 月只蓝 at 2016-11-24 14:14:29
你并没有给出具体数据,原代码中是要求给出输入的。
原代码中已经说明了如何调用这段程序并给出了例子:
把原m文件保存在MATLAB当前运行目录中,在主程序窗口,先输入X,然后调用:
NewEEM = eemscat( X,  ,    ...

是的,是的,我是这样对数据进行设置在matlab中建立矩阵
X=[x1 x2 x3 x4];
X.axisscale{2}=250:5:700;
X.axisscale{3}=200:5:650;
NewEEM = eemscat( X,  [10 10],   [10 10],   [10 10]);
然后开始运行,程序运行至第88行时返回了一个错误“Q=isnan(X.data);  %%% NaN element at the original data due to emission out
%%% of spectroscopic instrumental range”
我检查了一遍数据,以及也看过一遍程序,没能找到解决方法。

» 本帖附件资源列表

  • 欢迎监督和反馈:小木虫仅提供交流平台,不对该内容负责。
    本内容由用户自主发布,如果其内容涉及到知识产权问题,其责任在于用户本人,如对版权有异议,请联系邮箱:xiaomuchong@tal.com
  • 附件 1 : x1.xls
  • 2016-11-24 14:20:00, 126.5 K
  • 附件 2 : x2.xls
  • 2016-11-24 14:20:00, 124 K
  • 附件 3 : x3.xls
  • 2016-11-24 14:20:01, 128 K
  • 附件 4 : x4.xls
  • 2016-11-24 14:20:01, 126 K
5楼2016-11-24 14:23:19
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

xym_1900

铜虫 (小有名气)

引用回帖:
4楼: Originally posted by 月只蓝 at 2016-11-24 14:14:29
你并没有给出具体数据,原代码中是要求给出输入的。
原代码中已经说明了如何调用这段程序并给出了例子:
把原m文件保存在MATLAB当前运行目录中,在主程序窗口,先输入X,然后调用:
NewEEM = eemscat( X,  ,    ...

按照您对程序的意思理解是有两种方法设置导入数据?我一开始想用第一种,但是设置不了,要求“X has to be a dataset object where the axisscales contain wavelengths”X必须是dataset对象,我无法将数据设置成这样的格式,所以我用了第二种方法导入设置数据。不知您是否接触过EEMs即三维荧光光谱,按程序介绍他能对EEMs进行一些数据修饰包括去除散射等。EEMs是三维荧光数据,包含激发波长excitation wavelengths、发射波长 emission wavelengths、荧光数据即我上传的x1、x2、x3、x4。
6楼2016-11-24 14:37:19
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

xym_1900

铜虫 (小有名气)

送红花一朵
引用回帖:
4楼: Originally posted by 月只蓝 at 2016-11-24 14:14:29
你并没有给出具体数据,原代码中是要求给出输入的。
原代码中已经说明了如何调用这段程序并给出了例子:
把原m文件保存在MATLAB当前运行目录中,在主程序窗口,先输入X,然后调用:
NewEEM = eemscat( X,  ,    ...

你好,我遇到了另一个问题,如图eemscat的148行所示:”mm=interp1(ax2cut,Eendcut,ax2,'pchip','extrap'); %%% interpolation using cubic option“表明程序在执行interp1命令,对数据进行分段三次内插值,错误显示在interp1中139行“ h = (x(m)-x(1))/(m-1);”这我看不明白,您有什么建议?
请问您有接触过用Matlab实现三角形内插值法?我有一个程序...
C55`2WOCPOZ[ZTN[HG5ST40.png


请问您有接触过用Matlab实现三角形内插值法?我有一个程序...-1
8[F4PMSLNA)%CZXV9%005`L.png

7楼2016-11-28 16:27:58
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

wangsiyuan19

新虫 (初入文坛)

请问楼主解决问题了吗?我这是对三维荧光光谱进行三角形内插值去除散射

发自小木虫Android客户端
8楼2017-07-19 12:01:55
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

xym_1900

铜虫 (小有名气)

引用回帖:
8楼: Originally posted by wangsiyuan19 at 2017-07-19 12:01:55
请问楼主解决问题了吗?我这是对三维荧光光谱进行三角形内插值去除散射

这个程序处理我的数据的时候是无法运行的,我之后有进行改动,具体靠自己摸索,我的另一条帖子里面有相关内容,可以看看。

发自小木虫IOS客户端
9楼2017-07-20 09:07:59
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

hanshuo00

新虫 (小有名气)

引用回帖:
5楼: Originally posted by xym_1900 at 2016-11-24 14:23:19
是的,是的,我是这样对数据进行设置在matlab中建立矩阵
X=;
X.axisscale{2}=250:5:700;
X.axisscale{3}=200:5:650;
NewEEM = eemscat( X,  ,   ,   );
然后开始运行,程序运行至第88行时返回了一个错误“Q=i ...

我也isnan函数运行出现问题,请问最后您是怎么解决的?
10楼2018-12-04 22:35:53
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
相关版块跳转 我要订阅楼主 xym_1900 的主题更新
信息提示
请填处理意见