如題,疊代的演算法卡住了QQ
0~90度之內,每一度對應到一個 r 值
已知 r(1)=0 ,用迴圈疊代方式從前一個 r 算出下一個 r
假定 r(n+1)=sqrt(A+B)
其中 A 是由 r(n) 算出
B 則是依據 r(n) 的大小來決定其中一個變數
B 的算式中有一個 C 值
C 是 1X50 的數列(單純的正自然數,無規則)
然後現在有一串跟 r(n) 比大小的數列 R 是 1X51 (由0開始的等差數列)
如果 r(n) 的大小落在 R 的第一數值~第二數值的區間內,B 的計算就使用 C(1)
再求出 r(n+1)
如果 r(n) 的大小落在 R 的第二數值~第三數值的區間內,B 的計算就使用 C(2)
再求出 r(n+1)
以次類推到最後一個區間,求出 r(91),總共91個 r 值
註:R 的一個區間內可能同時對應到 好幾個角度
這個問題已經卡住兩禮拜了,還請各位指點迷津
目前自己只寫出一個很怪的東西
for i=0:1:90;
for k=1:50;
n = n+1;
if r(n) >= R(k) && r(n) <= R(k+1)
r(n+1) = sqrt(((sind(i)^2)/(C(k)))+r(n)^2);
else
r(n) > R(k+1);
break
end
end
end
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 120.107.168.98
※ 文章網址: https://www.ptt.cc/bbs/MATLAB/M.1512288549.A.F3B.html
→
12/03 16:32,
7年前
, 1F
12/03 16:32, 1F
跑了之後 r 卡在第2個就中斷了
顯示 "Attempted to access r(3); index out of bounds because numel(r)=2."
Error 在 if 那行
→
12/03 16:56,
7年前
, 2F
12/03 16:56, 2F
n有設定初始為0,只是這邊沒有寫上
推
12/03 16:59,
7年前
, 3F
12/03 16:59, 3F
→
12/03 16:59,
7年前
, 4F
12/03 16:59, 4F
真的放錯位置了 囧
→
12/03 16:59,
7年前
, 5F
12/03 16:59, 5F
→
12/03 16:59,
7年前
, 6F
12/03 16:59, 6F
我試試看
※ 編輯: ccam (120.107.168.98), 12/03/2017 17:07:47
腦袋有點打結,還是抓不到問題點
※ 編輯: ccam (120.107.168.98), 12/03/2017 18:44:55
推
12/11 06:41,
7年前
, 7F
12/11 06:41, 7F
→
12/11 06:43,
7年前
, 8F
12/11 06:43, 8F
→
12/11 06:43,
7年前
, 9F
12/11 06:43, 9F
MATLAB 近期熱門文章
PTT數位生活區 即時熱門文章
-1
12