[討論] MATLAB的自訂函數

看板MATLAB作者 (PTT戰神超級幹架王)時間7年前 (2017/08/08 09:36), 編輯推噓1(1011)
留言12則, 4人參與, 最新討論串1/1
小弟matlab剛入門 這應該是個很簡單的問題 不會花大家太久時間的 但我怎麼改都錯 想要寫一個自訂函數 總之就是運算出一個矩陣之後 把他上三角的部分加總起來 不知道是不是還要宣告他是個矩陣? 請各位先賢幫我看一下 感謝 A x都是矩陣 https://codepad.co/snippet/sG1VviYW#_=_ -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 61.216.74.73 ※ 文章網址: https://www.ptt.cc/bbs/MATLAB/M.1502156181.A.25B.html

08/08 10:43, , 1F
sum(sum(triu(目標矩陣)))
08/08 10:43, 1F

08/08 10:43, , 2F
邏輯沒錯,但最後一行要改成return sum
08/08 10:43, 2F

08/08 10:44, , 3F
比較符合matlab習慣的寫法是 temp=x-A*A';
08/08 10:44, 3F

08/08 10:45, , 4F
temp=triu(temp,1); return sum(temp(:));
08/08 10:45, 4F

08/08 10:51, , 5F
貼個錯誤訊息比較好判斷 sum是內建函數避免使用當變數名
08/08 10:51, 5F

08/08 10:53, , 6F
你的寫法上三角沒有包含主對角線,如果這樣是s大的寫法
08/08 10:53, 6F

08/08 10:54, , 7F
如果要主對角線是G大的寫法
08/08 10:54, 7F

08/08 11:18, , 8F
如果不要主對角線就用
08/08 11:18, 8F

08/08 11:19, , 9F
sum(sum(triu(目標矩陣, 1)))
08/08 11:19, 9F

08/08 11:19, , 10F
triu第二參數可以 help triu
08/08 11:19, 10F

08/08 11:20, , 11F
阿沒注意到s前輩已經用了
08/08 11:20, 11F

08/08 11:33, , 12F
感謝
08/08 11:33, 12F
文章代碼(AID): #1PYHML9R (MATLAB)
文章代碼(AID): #1PYHML9R (MATLAB)