matlab程序为啥不能运行DS(1,:)=ones();DR(1,:)=ones();n=1;x=0:0.01:6;z=0:0.01:3;for i=1:601for j=1:301DS(1,n)=(9+(x(1,i)-3)^2+(z(1,j)-3)^2)^0.5;DR(1,n)=(9+(x(1,i)-1)^2+(z(1,j)-1)^2)^0.5;n=n+1;endend最终要创建DS、DR的矩阵

来源:学生作业帮助网 编辑:作业帮 时间:2024/05/11 04:44:49

matlab程序为啥不能运行DS(1,:)=ones();DR(1,:)=ones();n=1;x=0:0.01:6;z=0:0.01:3;for i=1:601for j=1:301DS(1,n)=(9+(x(1,i)-3)^2+(z(1,j)-3)^2)^0.5;DR(1,n)=(9+(x(1,i)-1)^2+(z(1,j)-1)^2)^0.5;n=n+1;endend最终要创建DS、DR的矩阵
matlab程序为啥不能运行
DS(1,:)=ones();
DR(1,:)=ones();
n=1;
x=0:0.01:6;
z=0:0.01:3;
for i=1:601
for j=1:301
DS(1,n)=(9+(x(1,i)-3)^2+(z(1,j)-3)^2)^0.5;
DR(1,n)=(9+(x(1,i)-1)^2+(z(1,j)-1)^2)^0.5;
n=n+1;
end
end
最终要创建DS、DR的矩阵

matlab程序为啥不能运行DS(1,:)=ones();DR(1,:)=ones();n=1;x=0:0.01:6;z=0:0.01:3;for i=1:601for j=1:301DS(1,n)=(9+(x(1,i)-3)^2+(z(1,j)-3)^2)^0.5;DR(1,n)=(9+(x(1,i)-1)^2+(z(1,j)-1)^2)^0.5;n=n+1;endend最终要创建DS、DR的矩阵
可以出结果的,只是运行时间很长,我用的matlab2009a,快速产生DS,DR向量(只有一行)方法如下:
>> x = 0:0.01:6;
>> z = 0:0.01:3;
>> repx = repmat(x ,length(z),1);
>> repz = repmat(z',1,length(x));
>> DS = sqrt(9 + (repx-3).^2 + (repz-3).^2);
>> DS = DS(:)';
>> DR = sqrt(9 + (repx-1).^2 + (repz-1).^2);
>> DR = DR(:)';
两个向量长度是,
>> size(DR)
ans =
1 180901