看板 MATLAB 關於我們 聯絡資訊
想請問一下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
e01234567:問題解決了..原來是當我收斂時 沒設定輸出函數的原因 12/01 10:25