[問題] 急..請問大家一下問題..已回收

看板MATLAB作者 (開始研究生活哩..)時間16年前 (2008/09/25 17:16), 編輯推噓0(006)
留言6則, 1人參與, 最新討論串1/2 (看更多)
請問大家一下..為啥一下的程式碼中Z矩陣的第47行值會為零..? 跪求各位大大幫我d bug一下..感激不盡... clear all; %------x is the revise data of the temperature------- x=[20 25 30 35 40 45 50 55 60 65 70 75 80 85 90 95 100 102 104 106 108 110 112 114 116]; x4=0.8784*x+3.1201; %-----x5 is the absolute temperature K------- x5=273+x4; %------y is the average birefringence of the different temperature------ y=[0.221522873 0.222998931 0.21862764 0.217330012 0.212442676 0.211689586 0.206710927 0.204422076 0.198370832 0.196035742 0.190037877 0.185293917 0.178792928 0.172768442 0.163413562 0.156316301 0.143297336 0.137647913 0.131721686 0.124443935 0.115692785 0.104639389 0.091245292 0.070818045 0.02479401]; for beta=0.2:0.002:0.4; for dn0=0.25:0.002:0.4; n=1/beta; y1=1-(x5/379.2); dn1=(dn0)*(nthroot(y1,n)); y2=y-dn1; y3=abs(y2); y4=sum(y3); yy=fix(500*dn0-124); xx=fix(500*beta-99); z(xx,yy)=y4; end end -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 140.135.73.111

09/25 18:08, , 1F
fix()是四捨五入的函數 應該是原定yy=47那行 fix()括號內的
09/25 18:08, 1F

09/25 18:09, , 2F
結果大於47.5 所以直接變成48了 把yy那行的分號拿掉看一下
09/25 18:09, 2F

09/25 18:10, , 3F
yy 隨著迴圈怎麼變你就懂了
09/25 18:10, 3F

09/25 18:16, , 4F
還有yy=44這個結果跑出兩次 所以你也漏掉了 第一次yy=44的
09/25 18:16, 4F

09/25 18:16, , 5F
data
09/25 18:16, 5F

09/25 18:19, , 6F
我再想了一下 你的xx可能也會有同樣的問題喔
09/25 18:19, 6F
文章代碼(AID): #18srRQQ- (MATLAB)
文章代碼(AID): #18srRQQ- (MATLAB)