[問題] 請教一下for loop 出來的值要怎麼做圖已回收

看板MATLAB作者 (孔)時間13年前 (2010/09/02 23:03), 編輯推噓2(206)
留言8則, 4人參與, 最新討論串1/1
我現在有一個for loop for A = 1 : 100 if (A<100) 運算式 B = ------ (隨A改變) else end 假如我要做一張圖是 plot(A,B) 我要怎麼做 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 123.195.17.87

09/02 23:17, , 1F
翻書吧 我想每一本都有
09/02 23:17, 1F

09/02 23:39, , 2F
設B是一個矩陣 B(A)=xxx 這樣 plot(A,B)
09/02 23:39, 2F
這是我目前寫的... 旦是PLOT出來都是白的= = K1 = 15000 ; for lamda = 5000 :1000: K1 if (lamda<K1) N = (1*1.52)^0.5 ; lamda0 = 5000 ; d = 0.25 * lamda0 ; delta = 2 * pi * N * d / lamda ; elta0 = 1 / 377 ; elta = N * elta0 ; M11 = cos(delta) ; M12 = i * sin(delta) / elta ; M21 = i * elta * sin(delta) ; M22 = cos(delta) ; A = [M11 , M12 ; M21 , M22] * [1 ; 1.52 / 377 ] ; B = A(1,1) ; C = A(2,1) ; Y = C / B ; R = (((elta0*B)-C)/((elta0*B)+C)) * conj(((elta0*B)-C)/((elta0*B)+C)) ; else end plot(lamda,R) end ※ 編輯: ricky764 來自: 123.195.17.87 (09/03 01:08)

09/03 02:51, , 3F
上面已經回答了 for A = 1 : 100 B(A)=....
09/03 02:51, 3F

09/03 02:54, , 4F
你的code應該改成 for n=1:10
09/03 02:54, 4F

09/03 02:54, , 5F
lamda=4000+n*1000;
09/03 02:54, 5F

09/03 02:55, , 6F
後面 R(n)=......;
09/03 02:55, 6F

09/03 03:11, , 7F
你的R是一個數,不是一個陣列。R(lamda) =....就行了
09/03 03:11, 7F

09/03 03:11, , 8F
然後,if那個可以拿掉,在這邊完全沒意義
09/03 03:11, 8F
文章代碼(AID): #1CVxp8-i (MATLAB)