作业帮 > 综合 > 作业

matlab中,下列程序为什么输出时都是水平直线?应该是曲线才对,错在哪里?

来源:学生作业帮 编辑:搜搜做题作业网作业帮 分类:综合作业 时间:2024/04/28 13:37:19
matlab中,下列程序为什么输出时都是水平直线?应该是曲线才对,错在哪里?
程序如下
r=0:0.004:4;
a=[0.1,0.2,0.3,0.5,0.7];
c=['r','g','b','y','c'];
for i=1:5
plot(r,atand(2*a(i)*r/(1-r.^2)),c(i))
hold on
end
matlab中,下列程序为什么输出时都是水平直线?应该是曲线才对,错在哪里?
求y值时分子分母都为向量,如果是对应元素相除,要用点除,试一下:

clc,clear,clf
r=0:0.004:4;
a=[0.1,0.2,0.3,0.5,0.7];
c=['r','g','b','y','c'];
for i=1:5
    plot(r,atand(2*a(i)*r./(1-r.^2)),c(i))
    hold on
end


再问: 这张图为什么分为了两部分啊?应该是连在一起的,是不是因为matlab中角度范围是【-pi/2,pi/2】,怎么改啊?
再答: 这样试一下:clc,clear,clf% r=0:0.004:4;r=-1:0.001:1a=[0.1,0.2,0.3,0.5,0.7];c=['r','g','b','y','c'];for i=1:5    plot(r,atand(2*a(i)*r./(1-r.^2)),c(i))    hold onend