看板 MATLAB 關於我們 聯絡資訊
抱歉推文不清楚 直接回答可能比較快 想法是把所有可能125*200方格內組合列出來 隨機選取來檢查是否落在三角形內 想法可以是 tx=δ:δ:125-δ; ty=δ:δ:200-δ; idx=randperm(numel(tx)*numel(ty)); % 亂數排列的順序 之後for, while 皆可 我這用for for i = 1:length(idx) [IX,IY]=ind2sub([numel(tx), numel(ty)],idx(i)); % X, Y分別取什麼 if {tx(IX) ty(IY) 落在你要的三角形內} break %滿足條件, 跳出for end end 之後tx(IX) ty(IY) 即為你的解 ※ 引述《wwe00222 (hao)》之銘言: : http://imgur.com/ByfHnxS : 我想在一個三角型區域內(不能超出),隨機選一個點,點的位置如圖中安排所表示 : 共14個點 : 每個點(x1,y1)之間的間隔是δ=25mm : 能不能建立一條數學式當我輸入一個δ就能自動建立出點(x1,y1) : 並隨機選取 : 小弟想法是不斷使用 if .....elseif....elseif.....end 去判斷 : 但試了結果都不做不出來 : 請教有人能幫忙解答嗎 謝謝!! -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 128.97.89.159
wwe00222:先感謝你的幫忙! 但還是有些地方不太懂 05/14 10:00
wwe00222:在執行idx=rendperm(nume1(tx)*nume1(ty)); 05/14 10:10
wwe00222:出現Undefined function or method 'nume1' 05/14 10:11
wwe00222:for input arguments of type 'double'的錯誤 05/14 10:12
wwe00222:還有在最後 if 後面的判別式中是寫那條約束的數學式嗎? 05/14 10:14
wwe00222:謝謝~~ 05/14 10:15
jatj:numel 我好像打成1了 是"L" 05/14 10:39
jatj:判斷式就判斷點是不是落在三角形中 仔細想想應該不難 05/14 10:39