作者e01234567 (伊武天泽)
看板MATLAB
标题[问题]function输出问题
时间Sat Dec 1 02:36:50 2012
想请问一下function上的问题,有时候明明照样会去作跌代之类的动作,
并跑出最後答案,But...就是会无法输出
只会跑出最後我设定的收敛文字「converged」
仅截取下面这部份
x=xnew
xMat = rot90(reshape(x, (0.9*n)^0.5+1, (0.9*n)^0.5)) ;% 将 x 排回原来的位置
B=ones((0.9*n)^0.5+2, (0.9*n)^0.5+2);%定义出原方格的维数
for i=1:(0.9*n)^0.5+2
up(:,i)=100-7*(i-1); %补回上边界
end
B(1,1:(0.9*n)^0.5+2)=up;
for i=1:(0.9*n)^0.5+2
left(:,i)=10*(i-1); %补回左边界
end
left1=rot90(left)
B(1:(0.9*n)^0.5+2,1)=left1;
for i=1:(0.9*n)^0.5+2
down(:,i)=6*(i-1) ;%补回下边界
end
B((0.9*n)^0.5+2,1:(0.9*n)^0.5+2)=down
B(2:(end-1), 2:end) = xMat ;% 将排好的 x 塞回去
xm=B;
我如果把function 写回function x= code(input)
则会跑出ans
但如果是照原本的方式写,把function写成 function xm=code(input)
的话,他则连ans都显示,只会去一直跌代到收敛..
想问是我的程序码哪边出了问题?..导致他无法输出?!
我是有单独先算出x 再手动执行过下面的东西,有跑出我想要的东西就是...。
觉得非常奇怪
垦请帮忙,感恩
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 140.120.229.231
1F:→ e01234567:问题解决了..原来是当我收敛时 没设定输出函数的原因 12/01 10:25