Labfans是一个针对大学生、工程师和科研工作者的技术社区。 | 论坛首页 | 联系我们(Contact Us) |
![]() |
![]() |
#1 |
初级会员
注册日期: 2019-01-12
年龄: 32
帖子: 1
声望力: 0 ![]() |
![]()
在用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 |
![]() |
![]() |