天一阁 发表于 2011-5-6 19:10

matlab二维绘图只出现图框而未出现曲线,神马原因?

m文件:
定义方程组如下,其中k为变量
function F = myfun(x,k)
rs(1)=304.8;
rs(2)=101.6;
rs(3)=254.0;
rs(4)=177.8;
dr=pi/180.0;
F=;

>> clear
>> %求解过程
rs(1)=304.8;
rs(2)=101.6;
rs(3)=254.0;
rs(4)=177.8;
dr=pi/180.0;
x0=;    % 取初值
options = optimset('Display','off');
k=*pi;% 变量取值范围
for i=1:length(k)
kk=k(i);
x= fsolve(@(x) myfun(x,kk), x0, options);%求解非线性方程组
x1(i)=x(1);
x2(i)=x(2);
end
% 设置初始条件
dth=5*dr;
y=250;            % 曲柄角速度(等速输入)
T=2*pi/y;       % 机构周期-曲柄旋转1周的时间(秒)
% 曲柄输入角从0度变化到360度,步长为5度,计算y1,y2
for i=1:72
    k=i*dth;
    A=[-rs(3)*sin((x1(i))/dr)   rs(4)*sin((x2(i))/dr); rs(3)*cos((x1(i))/dr)-rs(4)*cos((x2(i))/dr)];
    B=;
    yy=A\B;                        % 输出角速度矩阵
    y1=yy(1);
    y2=yy(2);         
    t(i)=i*T/72;
end
t=t(i);
plot(t, y1,'-b',t, y2,'-r');
axis()            
title('角速度线图')
xlabel('时间t/s')
ylabel('从动件角速度/rad/s')
grid
结果只出现图框而未出现曲线,神马原因?

meiyongyuandeze 发表于 2011-5-6 23:58

你的程序画出来的只是一个点,帮你修改了下 % 设置初始条件
dth=5*dr;
y=250;            % 曲柄角速度(等速输入)
T=2*pi/y;       % 机构周期-曲柄旋转1周的时间(秒)
% 曲柄输入角从0度变化到360度,步长为5度,计算y1,y2
for i=1:72
    k=i*dth;
    A=[-rs(3)*sin((x1(i))/dr)   rs(4)*sin((x2(i))/dr); rs(3)*cos((x1(i))/dr)-rs(4)*cos((x2(i))/dr)];
    B=;
    yy=A\B;                        % 输出角速度矩阵
    y1(i)=yy(1);
    y2(i)=yy(2);         
    t(i)=i*T/72;
end
plot(t, y1,'-b',t, y2,'-r');
axis()            
title('角速度线图')
xlabel('时间t/s')

天一阁 发表于 2011-5-7 00:13

回复 2 # meiyongyuandeze 的帖子

程序运行正确了,非常感谢!!!!!
页: [1]
查看完整版本: matlab二维绘图只出现图框而未出现曲线,神马原因?