数学建模社区-数学中国

标题: 谁知道这个程序出什么错了 怎么画不出图啊 亟待解决 求正解 [打印本页]

作者: 每根头发都失眠    时间: 2013-8-22 16:02
标题: 谁知道这个程序出什么错了 怎么画不出图啊 亟待解决 求正解
clear;
J=48;
J0=35;
%R=0.286;
w0=514*2*pi/60;

T=0.01;
t=length(Mz)*T;
x=0:T:t;
y=T:T:t;
z=1:10:t/T;
Me(1)=0;
%Mz=w0/5*J*ones(1,t/T);

w(1)=w0+T/J0*(-Mz(1)+Me(1));
wh(1)=w(1);
wl(1)=w(1);
Me(2)=(2*J0/J-1)*Mz(1)-J0/T*(w(1)-w0);
w(2)=w(1)+T/J0*(-Mz(2)+Me(2));
wh(2)=wh(1)-Mz(2)*T/J;
wl(2)=wl(1)-Mz(2)*T/J0;
for k=3:t/T
    wh(k)=wh(k-1)-Mz(k)*T/J;
    wl(k)=wl(k-1)-Mz(k)*T/J0;
    Me(k)=-(2*J0/J-1)*Mz(k-1)-J0/T*(w(k-1)-w(k-2));
    w(k)=w(k-1)+T/J0*(-Mz(k)+Me(k));
    %Me(k+1)=(2*J0/J-1)*Mz(k)-J0/T*(w(k)-w(k-1));
end
plot(y(z),wh(z),'-')
hold on
plot(y(z),wl(z),'-.')
plot(y(z),w(z),'+')
%sum(w'.*Mz)/100
value=Mz.*w;
result=(-value(1)/2+sum(value)-value(length(value))/2)/100

pause;
hold off;
plot(y,w-wh,'b*');
pause;
value=Mz.*w;
for k=1:t/T
    E(k)=(sum(value(1:k)))*T;
    Q(k)=J*(w0*w0-w(k)*w(k))/2;
    F(k)=(E(k)-Q(k));
    f(k)=(E(k)-Q(k))/Q(k)*100;
end
plot(y,F,'*')
pause;
plot(y(10:467),abs(f(10:467)),'-')

作者: 袁海亮    时间: 2013-8-22 16:54
楼主你好  将问题的背景 也阐述一下吧  第一个运行错误t=length(Mz)*T;  "Mz" 好像也没定义吧  能不能有点 必要的注释?那样你我 都好理解  其次 把你遇到的问题 也说明一下吧
作者: 每根头发都失眠    时间: 2013-8-22 17:16
袁海亮 发表于 2013-8-22 16:54
楼主你好  将问题的背景 也阐述一下吧  第一个运行错误t=length(Mz)*T;  "Mz" 好像也没定义吧  能不能有点  ...

给你把部分的题发过去,我们在做2009年A题

问题四.doc

123.5 KB, 下载次数: 1, 下载积分: 体力 -2 点


作者: 每根头发都失眠    时间: 2013-8-22 17:17
每根头发都失眠 发表于 2013-8-22 17:16
给你把部分的题发过去,我们在做2009年A题

那个图像对应的程序就是一楼的程序
作者: 灰色031    时间: 2013-8-23 21:07
是不是没有定义。
作者: 每根头发都失眠    时间: 2013-8-24 08:18
看英文好像是哦 但不知道怎么弄




欢迎光临 数学建模社区-数学中国 (http://www.madio.net/) Powered by Discuz! X2.5