关于matlab中plotyy命令的疑问(采用数组化编程和for循环的差别)在用matlab中plotyy命令作双纵坐标图时遇到下列问题:(1)当采用for循环时for x=0:0.1:20 y1 =200*exp(-0.05*x)*sin(x) y2 = 0.8*exp(-0.5*x)

来源:学生作业帮助网 编辑:作业帮 时间:2024/05/04 09:22:12
关于matlab中plotyy命令的疑问(采用数组化编程和for循环的差别)在用matlab中plotyy命令作双纵坐标图时遇到下列问题:(1)当采用for循环时for x=0:0.1:20    y1 =200*exp(-0.05*x)*sin(x)    y2 = 0.8*exp(-0.5*x)

关于matlab中plotyy命令的疑问(采用数组化编程和for循环的差别)在用matlab中plotyy命令作双纵坐标图时遇到下列问题:(1)当采用for循环时for x=0:0.1:20 y1 =200*exp(-0.05*x)*sin(x) y2 = 0.8*exp(-0.5*x)
关于matlab中plotyy命令的疑问(采用数组化编程和for循环的差别)

在用matlab中plotyy命令作双纵坐标图时遇到下列问题:(1)当采用for循环时

for x=0:0.1:20

    y1 =200*exp(-0.05*x)*sin(x)

    y2 = 0.8*exp(-0.5*x)*sin(10*x)

    plotyy(x,y1,x,y2)

    hold on

end

图像为:

(2)当采用数组化编程时

x = 0:0.01:20;

y1 = 200*exp(-0.05*x).*sin(x);

y2 = 0.8*exp(-0.5*x).*sin(10*x);

plotyy(x,y1,x,y2)

图像为:

问题:

(1)为什么会出现这种差别

(2)如果我用for循环编程想得到图2所示的效果,应该如何操作

附言:这只是个简单的例子,笔者编程能力有限,现编一个较复杂的程序,采用的是for循环做的,数据处理时想用双纵坐标图


关于matlab中plotyy命令的疑问(采用数组化编程和for循环的差别)在用matlab中plotyy命令作双纵坐标图时遇到下列问题:(1)当采用for循环时for x=0:0.1:20 y1 =200*exp(-0.05*x)*sin(x) y2 = 0.8*exp(-0.5*x)
需要用循环的话:
x=0:0.1:20;
len = length(x);
y1 = zeros(len,1); y2 = y1;
for i=1:len
y1(i) =200*exp(-0.05*x(i))*sin(x(i));
y2(i) = 0.8*exp(-0.5*x(i))*sin(10*x(i));
end
plotyy(x,y1,x,y2)
Matlab的基本数据类型是矩阵,能够用向量化编程时尽量避免使用循环!
分析:
for x=0:0.1:20
%每次产生一个点对
y1 =200*exp(-0.05*x)*sin(x)
y2 = 0.8*exp(-0.5*x)*sin(10*x)
plotyy(x,y1,x,y2) 每次在前一次的基础上加上一个点
hold on
end
显示的内容并没错,你可以用 axis([0 20 -200 200]) 查看结果
黑色部分是因为你逐点绘制时,会添加很多刻度和刻度标记,这些内容太过密集,看上去就那样了

关于matlab中plotyy命令的疑问(采用数组化编程和for循环的差别)在用matlab中plotyy命令作双纵坐标图时遇到下列问题:(1)当采用for循环时for x=0:0.1:20 y1 =200*exp(-0.05*x)*sin(x) y2 = 0.8*exp(-0.5*x) 关于matlab中设置Y轴标签的问题.[AX,HDv1,ADv1]=plotyy(jfcd,hdv,jfcd,adv)Hold on[BX,HDd1,ADd1]=plotyy(jfcd,hdd,jfcd,add)Hold on[CX,HDs1,ADs1]=plotyy(jfcd,hds,jfcd,ads)set(AX(1),'xlim',[0,40]);set(AX(2),'xlim',[0,40]); set(BX(1),'xlim',[0,40]) 如何利用matlab的plotyy函数画双坐标图? 如何利用matlab的plotyy函数画双坐标图? 关于matlab的逻辑运算命令matlab中&与&&,|与||含义一样吗?知道&,|的含义但不清楚&&,||的意思 matlab中 clf hold off命令的区别是什么? matlab什么命令可以 一个向量中 最大的元素? 在matlab中使用plotyy函数画双Y轴图形时,如何限制X轴的取值范围? 好像用axis不行.x=10:5:30;hdv=[1 3 4 6 7];adv=[2 3 5 6 9];[AX,HDv1,ADv1]=plotyy(x,hdv,x,adv) 如何让x从0到40显示? matlab中comet含义,什么命令语句 定义一个函数文件,求给定复数的指数、正弦和余弦,并在命令文件中调用该函数文件关于MATLAB MATLAB中相关系数矩阵和协方差矩阵的命令?这两个矩阵有什么区别,不用命令怎么求 matlab中的矢量如何表示以及求旋度的命令是什么?请问大家Matlab中是如何表示三位的带有方向的矢量的?求旋度的命令是什么 matlab中统计一组数字中为0的个数如题,用什么命令? matlab如何删除错误命令行matlab中,输入命令错误后会有红色错误提示.如何只删除错误的命令行和提示行,保留前面的正确命令? matlab命令simple 是干什么用的 MATLAB中求逆矩阵的命令是? 请问Matlab中求f(x)的原函数的命令是什么? matlab的plot命令plot(t,'r-','LineWidth',1.5);中Y(:,