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
程序如下
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
求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
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