|
|
大家好,小弟我正在学习利用COM组件实现LABVIEW与MATLAB的混编。
PS:我用的是LABVIEW7 和MATLAB6.5
已经成功实现COM组件的生成与打包。
在“LabVIEW 调用M文件生成的COM组件”时发现程序运行时没有任何反应
调用的matlab程序为
function [fit,res,x,y,fit3]=fitNew(xdata,ydata,yita,x0);
fun=inline('log10(x(1)+x(2).*(10.^(-x(3).*xdata)))','x','xdata');
%%%%%%%%%%%%%%% fit white noise and 1/f signal %%%%%%%%%%%%%%
f1=nlinfit(xdata,ydata,fun,x0);
[f2,resnorm1]=lsqcurvefit(fun,real(f1),xdata,ydata,[0 0 0]);
[ff1,resnorm]=lsqcurvefit(fun,[(10.^ydata(1))*yita 0.01*yita 1],xdata,ydata,[0 0 0]);
[ff2,resnorm2]=lsqcurvefit(fun,ff1,xdata,ydata,[0 0 0]);
if resnorm1<resnorm2
fitt=f2';
ress=resnorm1;
else
fitt=ff2;
ress=resnorm2;
end
x00=[0.01*yita 1];
%%%%%%%%%%%% fit 1/f signal %%%%%%%%%%%%%%%%%%%%%%
fun1=inline('log10(+xx(1).*(10.^(-xx(2).*xdata)))','xx','xdata');
f11=nlinfit(xdata,ydata,fun1,x00);
[f22,resnorm11]=lsqcurvefit(fun1,real(f11),xdata,ydata,[0 0]);
x=10.^xdata;
if ress<resnorm11
fit=fitt;
res=ress;
y=10.^fun(fit,xdata);
y2=10.^fun1(f22,xdata);
else
fit=cat(1,[0],f22)';
res=resnorm11;
y=10.^fun1(f22,xdata);
y2=10.^fun(fitt,xdata);
end
fit3=[0,f22';fitt];
我认为是我的variant to data设置有问题,我看论坛上的资料 说那个Type一般都设为2D Array类型
不知道大家什么意见?variant to data应该怎么用啊?谢谢大家 |
本帖子中包含更多资源
您需要 登录 才可以下载或查看,没有账号?注册
×
|