声振论坛

 找回密码
 我要加入

QQ登录

只需一步,快速开始

查看: 1376|回复: 0

[编程技巧] ode45求解Jiles-Atherton模型出现问题,求助!!

[复制链接]
发表于 2012-7-12 11:04 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?我要加入

x
程序是参考另一个磁滞模型修改的,但应用JA模型始终图形不对,检查了几遍也不清楚问题出在哪,请各位高手,大侠帮忙一看,小弟谢过!!

代码如下:

function hysteresis
tspan=0:0.0015:10;
y0=0;
[t,y]=ode45(@odefun,tspan,y0);
A=500;
H=A*sin(2.3*t);
y;
H;
figure
plot(H,y)
xlabel('H')
ylabel('M')
title('Hysteresis curves')
size(y)
size(H)
function dydt=odefun(t,y)
alpha=8e-5;
c=0.55;
Ms=1.47e6;
k=60;
a=40;
A=500;
H=A*sin(2.3*t);
He=H+alpha*y;
if (He/a)<0.01
    Man=Ms*((He/a)/3-((He/a)^3)/45+2*((He/a)^5)/945);
    DMan=(1/a)*Ms*(1/3-((He/a)^2)/15+2*((He/a)^4)/189);
   
else
    Man=Ms*(coth(He/a)-a/He);
    DMan=Ms*((-1/a)*((csch(He/a))^2)+a/He^(-2));
end

Delt=sign(2.3*A*cos(2.3*t));
%DeltM=(1+Delt*sign(Man-y))/2;
dydt=2.3*A*cos(2.3*t)*((Man-y)+Delt*c*k*DMan)/(Delt*k-alpha*((Man-y)+Delt*c*k*DMan));
%dydt=2.3*A*sin(2.3*t)*(DeltM*(Man-y)+Delt*c*k*DMan)/(Delt*k-alpha*(DeltM*(Man-y)+Delt*c*k*DMan));
回复
分享到:

使用道具 举报

您需要登录后才可以回帖 登录 | 我要加入

本版积分规则

QQ|小黑屋|Archiver|手机版|联系我们|声振论坛

GMT+8, 2024-11-17 22:31 , Processed in 0.059072 second(s), 18 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表