matlab转化成exe运行错误,Matcom转换成EXE的问题

写了个脚本文件,在Matlab命令行里调用没问题,能画出图来;用mcc -m命令生成EXE文件也能运行画出图来,可是用Matcom的Compile to exe生成EXE文件,运行后却说其中一行不能运行,代码如下,其中不能运行的一段代码已用红色字体标注,望高手指点,谢:

ap = input('ap=');

f = input('f=');

v = input('v=');

a= input('a=')*pi/180;

Kr = input('Kr=')*pi/180;

Kr1= input('Kr1=')*pi/180;

r=input('r=');

i= input('i=')*pi/180;

Kn = input('Kn=');

Kf = input('Kf=');

c= input('c=')*pi/180;

T=input('T=');

i=0;

t1=0:0.02:T;

x=zeros(1,50*T+1);

y=zeros(1,50*T+1);

z=zeros(1,50*T+1);

%calculate cutting force

for t=0:0.02:T

i=i+1;

ht=1+sin(t)-2*sin(2*t);        %current displacement between tool and workpiece

hp=1+sin(t-60/v)-2*sin(2*(t-60/v));%dispacement in thhe previous revolution

% calculate chip area

if ht==0

if ap<=r-r*cos(Kr)

a1=-sqrt(r.^2-(r-ap).^2);

a2=-sqrt(r.^2-(r-ap).^2)+f;

a3=f/2;

m=strcat('sqrt(abs(',num2str(r),'.^2-z.^2))-(',num2str(r),'-',num2str(ap),')');

M=inline(m);

S1=quad(M,a1,a2);

n=strcat('sqrt(abs(',num2str(r),'.^2-z.^2))-sqrt(abs(',num2str(r),'.^2-(z-',num2str(f),').^2))');

N=inline(n);

S2=quad(N,a2,a3);

Ac=S1+S2

else

a1=-r*sin(Kr);

a2=f/2';

a3=-r*sin(Kr)+f;

m=strcat('sqrt(abs(',num2str(r),'.^2-z.^2))');

M=inline(m);

S1=quad(M,a1,a2);

n=strcat('sqrt(abs(',num2str(r),'.^2-(z-',num2str(f),').^2))');

N=inline(n);

S2=quad(N,a3,a2);

Ac=f*ap+S1+S2

end

else

if ap<=r-r*cos(Kr)

if ht<=0

a1=r-ap;

a2=r+hp;

a3=-sqrt(abs(r.^2-(r-ht+hp).^2));

a4= sqrt(abs(r.^2-(r-ht+hp).^2));

m=strcat('sqrt(abs(',num2str(r),'.^2-(y-',num2str(ht),').^2))+',num2str(f),'-sqrt(abs(',num2str(r),'.^2-(y-',num2str(hp),').^2))');

M=inline(m);

S1=quad(M,a1,a2);

n=strcat('sqrt(abs(',num2str(r),'.^2-x.^2))+',num2str(ht),'-',num2str(r),'-',num2str(hp));

N=inline(n);

S2=quad(N,a3,a4);

Ac=S1+S2;

else

a1=-sqrt(r.^2-(r-ap-ht).^2);

a2=f-sqrt(r.^2-(r-ap-hp).^2);

a3=r*sin(acos(sqrt(f.^2+(hp-ht).^2)/(2*r))+atan((hp-ht)/f));

m=strcat('sqrt(abs(',num2str(r),'.^2-x.^2))-',num2str(r),'-',num2str(ap));

M=inline(m);

S1=quad(M,a1,a2);

n=strcat('sqrt(abs(',num2str(r),'.^2-x.^2))-sqrt(abs(',num2str(r),'.^2-(x-',num2str(f),').^2))+',num2str(ht),'-',num2str(hp));

N=inline(n);

S2=quad(N,a2,a3);

Ac=S1+S2;            end

else

if ht<=0

a1=-r*sin(Kr);

a2=f-r*sin(Kr);

a3=sqrt(r.^2-(r+hp-y(t)).^2);

d1=(hp-ht)/f;

d2=(f*ht+f*r*cos(Kr)-r*ht*sin(Kr)+r*hp*sin(Kr))/f;

m=strcat(num2str(ht),'+sqrt(abs(',num2str(r),'.^2-x.^2))-',num2str(d1),'*x-',num2str(d2));

M=inline(m);

S1=quad(M,a1,a2);

n=strcat(num2str(r),'-sqrt(abs(',num2str(r),'.^2-(x-',num2str(f),').^2))');

N=inline(n);

S2=quad(N,a2,a3);

p=strcat(num2str(ht),'+sqrt(abs(',num2str(r),'.^2-x.^2))-',num2str(r),'-',num2str(hp));

P=inline(p);

S3=quad(P,a2,a3);

Ac=(ap-r+r*cos(Kr)+(hp-ht)/2)*f+S1+S2+S3;

else

a1=-r*sin(Kr);

a2=f-r*sin(Kr);

a3=r*sin(acos(sqrt(f.^2+(hp-ht).^2)/(2*r))+atan((hp-ht)/f));

d1=(hp-ht)/f;

d2=(f*ht+f*r*cos(Kr)-r*ht*sin(Kr)+r*hp*sin(Kr))/f;

S1=(ap-r+r*cos(Kr)+(hp-ht)/2)*f;

m=strcat(num2str(ht),'+sqrt(abs(',num2str(r),'.^2-x.^2))-',num2str(d1),'*x-',num2str(d2));

M=inline(m);

S2=quad(M,a1,a2);

n=strcat('sqrt(abs(',num2str(r),'.^2-x.^2))-sqrt(abs(',num2str(r),'.^2-(x-',num2str(f),').^2))+',num2str(ht),'-',num2str(hp));

N=inline(n);

S3=quad(N,a2,a3);

Ac=S1+S2+S3;

end

end

end

% calculate the cutting force

Fx=(Kn*cos(Kr)*sin(i)*cos(a)-Kn*sin(Kr)*sin(a)+Kf*cos(Kr)*sin(i)*sin(a)*cos(c)-...

Kf*cos(Kr)*cos(i)*sin(c)+Kf*sin(Kr)*cos(a)*cos(c))*Ac;

Fy=(-Kn*sin(Kr)*sin(i)*cos(a)-Kn*cos(Kr)*sin(a)+Kf*cos(Kr)*cos(a)*cos(c)+...

Kf*sin(Kr)*cos(i)*sin(c)-Kf*sin(Kr)*sin(i)*sin(a)*cos(c))*Ac;

Fz=(Kn*cos(i)*cos(a)+Kf*sin(i)*sin(c)+Kf*cos(i)*sin(a)*cos(c))*Ac;

x(1,i)=Fx;

y(1,i)=Fy;

z(1,i)=Fz;

end

subplot(3,1,1),plot(t1,x),grid

subplot(3,1,2),plot(t1,y),grid

subplot(3,1,3),plot(t1,z),grid

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值