|
|
我使用labview调用matlab程序,用matlab scripe node,结果总是报错,Error 1047 occurred at LabVIEW: LabVIEW failed to send variable to the script server. Server:"" in 可报警停止.vi
而我的matlab程序在matlab6.5中试运行通过了的,程序如下:
Error 1047 occurred at LabVIEW: LabVIEW failed to send variable to the script server. Server:"" in 可报警停止.vi
function unequdis=unequdis(D)
T0=298.15;r0=100000;B=3.950*10^3;D=0.1;
matrix=[];
syms r
Trii=B*T0/(B+T0*log(r/r0))-273.15;
ezplot(Trii,[6553,200000])
df=diff(Trii,r);
rstart=double(sym(6553.5));%起始电阻值
T=double(subs(Trii,r,rstart));
Rnew=rstart;
n=1;
flag=1;%为1时计算等式(8),0时计算等式(9)
flag1=1;%循环标志
while (flag1)
if(flag~=0)
f=Trii-T-df*(r-Rnew)+2*D ;
Rnew1=solve(f);%解方成f=0,得到未知参数r的值赋予Rnew1,是切点
flag=0;
else
tempT=T;
TRnew=double(subs(Trii,r,Rnew1));
f=Trii-TRnew-subs(df,r,Rnew1)*(r-Rnew1)-2*D;
Rnew=solve(f);
T=double(subs(Trii,r,Rnew));
matrix=[matrix;[Rnew T]];
flag=1;
%用前后两次温度之差做跳出循环的条件
if double(tempT-T)<0.001
flag1=0;
end
end
end
hold on
axis([0 200000 10 110])
plot(double(matrix(:,1)),double(matrix(:,2)),'r')
matrix
[m n]=size(matrix);
disp('分段数=')
m-1
hold off
是一个线性插值的算法,问题出在哪里啊 |
|