Labfans是一个针对大学生、工程师和科研工作者的技术社区。 论坛首页 | 联系我们(Contact Us)
MATLAB爱好者论坛-LabFans.com
返回   MATLAB爱好者论坛-LabFans.com > 基础科学 > 数学
数学 A discussion board for Mathematics.
回复
 
主题工具 显示模式
旧 2019-01-12, 12:00 PM   #1
初级会员
 
注册日期: 2019-01-12
年龄: 27
帖子: 1
感谢他人: 0
有 0 帖获得 0 感谢
声望力: 0
梨核儿 正向着好的方向发展
帖子 复数 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
梨核儿 当前离线   回复时引用此帖
回复

标签
for循环 微分方程

主题工具
显示模式

发帖规则
不可以发表新主题
不可以发表回复
不可以上传附件
不可以编辑自己的帖子

启用 BB 代码
论坛启用 表情符号
论坛启用 [IMG] 代码
论坛禁用 HTML 代码
Trackbacks are 禁用
Pingbacks are 禁用
Refbacks are 禁用



所有时间均为北京时间。现在的时间是 02:31 AM


Powered by vBulletin
版权所有 ©2000 - 2020,Jelsoft Enterprises Ltd.

SEO by vBSEO ©2009, Crawlability, Inc.