matlab问题,怎样把for循环得到的一组数据存到一个数组里
%%模型3H=5%屏幕上边缘离地面的高度h=1.8%屏幕的高度D=19%最后一排离屏幕水平距离d=4.5%第一排离屏幕水平距离c=1.1%观众的平均坐高l=0.8%两排座...
%%模型3
H=5%屏幕上边缘离地面的高度
h=1.8%屏幕的高度
D=19%最后一排离屏幕水平距离
d=4.5%第一排离屏幕水平距离
c=1.1%观众的平均坐高
l=0.8%两排座位间的距离
pi=3.1415926
fd=pi/180%幅度换算
for q=0:0.01:20
fprintf('when q=%f',q)
n=floor(14.5/(l*cos(q*fd)))+1
C=H-(tan(q*fd)*14.5+1.1)%每排观众距屏幕上沿的距离
end%%由计算可知排数19<=n<=20 q<=15.05
%%根据利益最大化,n=20
for q=0:0.01:15.01
fprintf('线倾角q=%f\n',q)
for i=1:1:20
x=4.5+14.5*(i-1)/n
A[]=(atan(1.8*x/(x^2+(5-x*tan(q*fd)-4.5*tan(q*fd)+1.1)*(3.2-x*tan(q*fd)-4.5*tan(q*fd)+1.1))))/fd
B[]=(atan((5-x*tan(q*fd)-4.5*tan(q*fd)+1.1)/x))/fd
end
RA=A/20
RB=B/20
end 展开
H=5%屏幕上边缘离地面的高度
h=1.8%屏幕的高度
D=19%最后一排离屏幕水平距离
d=4.5%第一排离屏幕水平距离
c=1.1%观众的平均坐高
l=0.8%两排座位间的距离
pi=3.1415926
fd=pi/180%幅度换算
for q=0:0.01:20
fprintf('when q=%f',q)
n=floor(14.5/(l*cos(q*fd)))+1
C=H-(tan(q*fd)*14.5+1.1)%每排观众距屏幕上沿的距离
end%%由计算可知排数19<=n<=20 q<=15.05
%%根据利益最大化,n=20
for q=0:0.01:15.01
fprintf('线倾角q=%f\n',q)
for i=1:1:20
x=4.5+14.5*(i-1)/n
A[]=(atan(1.8*x/(x^2+(5-x*tan(q*fd)-4.5*tan(q*fd)+1.1)*(3.2-x*tan(q*fd)-4.5*tan(q*fd)+1.1))))/fd
B[]=(atan((5-x*tan(q*fd)-4.5*tan(q*fd)+1.1)/x))/fd
end
RA=A/20
RB=B/20
end 展开
2个回答
展开全部
%%模型3
H=5;%屏幕上边缘离地面的高度
h=1.8;%屏幕的高度
D=19;%最后一排离屏幕水平距离
d=4.5;%第一排离屏幕水平距离
c=1.1;%观众的平均坐高
l=0.8;%两排座位间的距离
pi=3.1415926;
fd=pi/180;%幅度换算
for q=0:0.01:20
fprintf('when q=%f',q);
n=floor(14.5/(l*cos(q*fd)))+1;
C=H-(tan(q*fd)*14.5+1.1);%每排观众距屏幕上沿的距离
end%%由计算可知排数19<=n<=20 q<=15.05
%%根据利益最大化,n=20
q=0:0.01:15.01;
for j=1:length(q)
%fprintf('线倾角q=%f\n',q);
for i=1:1:20
x=4.5+14.5*(i-1)/n;
A(i,j)=(atan(1.8*x/(x^2+(5-x*tan(q(j)*fd)-4.5*tan(q(j)*fd)+1.1)*(3.2-x*tan(q(j)*fd)-4.5*tan(q(j)*fd)+1.1))))/fd;
B(i,j)=(atan((5-x*tan(q(j)*fd)-4.5*tan(q(j)*fd)+1.1)/x))/fd;
end
RA=A/20;
RB=B/20;
end
最后得到的A和B都是 20x1502的矩阵
第一行表示 i=1
第二行表示 i=2
。。。。
第二十行表示 i=20
第一列表示 p=0
第二列表示 p=0.01
第三列表示 p=0.02
。。。
第一千五百零二列 p=15.01
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询