matlab程序为啥不能运行
DS(1,:)=ones();DR(1,:)=ones();n=1;x=0:0.01:6;z=0:0.01:3;fori=1:601forj=1:301DS(1,n)=(...
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的矩阵 展开
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的矩阵 展开
4个回答
展开全部
首先把程序运行下打算看看输出什么错误的,结果死机,甚是悲剧!矩阵应该用点乘最后,你整个程序都是分号结尾,程序默认是还有指令需要输入,故此程序是不输出东西的。
希望对你有帮助。如果你能把题目贴出来,兴许有高手帮你修改程序!
希望对你有帮助。如果你能把题目贴出来,兴许有高手帮你修改程序!
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
不是不能运行,是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
>> 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
追问
高手让我再问个问题吧。。是这样的:t是横坐标1*180901的矩阵,h是纵坐标1*180901的矩阵。。用了plot(t,h);画了图发现t有很多重复的,图里变成了很多点。但是我是想把同样的t 时的h值 累加得到一个曲线。。请问怎么办。。可以提高悬赏。谢谢。。
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
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
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
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询