首先把程序运行下打算看看输出什么错误的,结果死机,甚是悲剧!矩阵应该用点乘最后,你整个程序都是分号结尾,程序默认是还有指令需要输入,故此程序是不输出东西的。
希望对你有帮助。如果你能把题目贴出来,兴许有高手帮你修改程序!
不是不能运行,是18万次循环计算太慢,你可以看到matlab左下角显示busy
可以出结果的,只是运行时间很长,我用的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
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