matlab复数参数的虚部已忽略,[问题] 复数 X 和/或 Y 参数的虚部已忽略

icon1.gif 复数 X 和/或 Y 参数的虚部已忽略

在用for循环求解微分方程时,进行plot时,出现了“警告: 复数 X 和/或 Y 参数的虚部已忽略 ”,这个问题应该如何解决呢?

for t = t0:dt:tf

%d=-cos(pi*t); %外界扰动

u0 = pi/2*cos(t);

ksi = x-x0; % x_e

it = v-v0; % v_e

ind1=find((it.^(m1/n1-1))<=r);

ind2=find((it.^(m1/n1-1))>r);

delt(ind1)=sin(pi/2*abs(it.^(m1/n1-1)).^2/r^2);

delt(ind2)=1;

%%%%%%%%%%%%%%%%%%%%%%%%

s = sign(it)*abs(it^(m1/n1))+a1*sign(ksi)*abs(ksi^(m2/n2))+b1*sign(ksi)*abs(ksi^(m3/n3));

ds = delt*(a1*sign(s)*abs(s^(m2/n2))+b1*sign(s)*abs(s^(m3/n3)))^(n1/m1);

%ds = delt*(sign(-ksi)*abs(ksi^(1/3))-sign(-it)*(-it^3));

ind1=find(abs(s)<=sigma);

ind2=find(abs(s)>sigma);

epsilon(ind1)=x/sigma;

epsilon(ind2)=sign(s);

u = -(n1/m1)*(a1*m2/n2*ksi^(m2/n2-1)+b1*m3/n3*ksi^(m3/n3-1))*it^(2-m1/n1)-n1/m1*delt*it^(1-m1/n1)*(a1*s^(m2/n2)+b1*s^(m3/n3))^(n1/m1)-lammd*epsilon;

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

dx = v;

dv = u;

dx0 = v0;

dv0 = u0;

x = x+dx*dt;

v = v+dv*dt;

v0 = v0+dv0*dt;

x0 = x0+dx0*dt;

s = s+ds*dt;

u_mat=[u_mat,u];

u0_mat=[u0_mat,u0];

x_mat=[x_mat,x];

v_mat=[v_mat,v];

x0_mat=[x0_mat,x0];

ksi_mat=[ksi_mat,ksi];

it_mat=[it_mat,it];

v0_mat=[v0_mat,v0];

s_mat=[s_mat,s];

end

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值