[問題] 迴圈 只跑單圈@@已回收

看板MATLAB作者 (隨遇而安)時間15年前 (2010/10/21 10:15), 編輯推噓3(3022)
留言25則, 7人參與, 最新討論串1/1
請問一下板上大大 原PO是第一次使用MATLAB寫程式 迴圈跑不出來 想請問一下大大 程式哪邊有問題 --------------------以下是程式碼---------------- x1=-7; x2=-5; x3=(x1+x2)/2; y=zeros(0,14); for n=0:14 t=1/2^n; y=2*sin(x3)-(exp(x3))/4-1; if y>0 x2=x2-t; else x1=x1+t; end end y ----------------以上是程式碼-------------------- 想請問一下,這迴圈或是我哪邊語法有寫錯 請大大支援一下了 感恩 -- 颯風沾,問途寒, ˍˍ 誰與共飲,誰敢擋關? 燕歸 命‧人不還。 人印  ̄ ̄ -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 140.117.165.235

10/21 10:21, , 1F
y(n)=2*sin......
10/21 10:21, 1F

10/21 10:32, , 2F
只是變數符號,這樣有差嗎? 我是有改了 但是n不能為0
10/21 10:32, 2F

10/21 10:34, , 3F
y=zeros(0,14)這是?...有零維的向量嘛?
10/21 10:34, 3F

10/21 10:34, , 4F
冏....我以為那是範圍@@
10/21 10:34, 4F

10/21 10:34, , 5F
寫matlab的index不用像C一樣要減一...照人腦寫就好了
10/21 10:34, 5F

10/21 10:35, , 6F
恩恩 受教了
10/21 10:35, 6F

10/21 10:35, , 7F
zeros(m,n) 會建出一個 m*n 且元素皆為零的向量
10/21 10:35, 7F

10/21 10:38, , 8F
我把那一行砍掉了,還是只能跑出一個值@@ 迴圈都沒跑@@
10/21 10:38, 8F

10/21 10:42, , 9F
因為x1 x2 x3 都是一個值...y當然只有一個...
10/21 10:42, 9F

10/21 10:42, , 10F
你的程式想要作什麼事?
10/21 10:42, 10F

10/21 10:45, , 11F
把那一行搬到FOR裡面了 還是不行@@
10/21 10:45, 11F

10/21 11:49, , 12F
你先把入門網站看一看再寫吧....
10/21 11:49, 12F

10/21 13:04, , 13F
恩恩
10/21 13:04, 13F

10/21 16:02, , 14F
我直接複製貼上 拿掉y=zero那行 跑完了啊 就是一個值啊
10/21 16:02, 14F

10/21 16:02, , 15F
我猜原po是想要 y紀錄 不同n值的值吧
10/21 16:02, 15F

10/21 16:03, , 16F
所以 y=2*sin...要改成 y(n)=2*sin ?
10/21 16:03, 16F

10/21 16:05, , 17F
但是t真的太小 根本就影響不了x1 x2 所以 連帶x3根本就沒動
10/21 16:05, 17F

10/21 16:05, , 18F
所以 y跑出來 因為 有效位數的關係 就看起來一樣
10/21 16:05, 18F

10/22 09:43, , 19F
你不管跑幾次都一樣結果吧,因為你X3在迴圈外喔,而你的
10/22 09:43, 19F

10/22 09:43, , 20F
判斷式卻和Y有關
10/22 09:43, 20F

10/22 09:43, , 21F
和X3有關^^
10/22 09:43, 21F

10/22 09:45, , 22F
而且最後是輸出Y吧,那根本就沒變阿
10/22 09:45, 22F

10/22 12:02, , 23F
x3=...放到For下面,For裡面用y(n+1)=...
10/22 12:02, 23F

10/22 13:49, , 24F
而且只能放x3,如果你全放結果還是一樣
10/22 13:49, 24F

10/29 12:05, , 25F
感謝各位大大的指教
10/29 12:05, 25F
文章代碼(AID): #1Clw8s-s (MATLAB)