看板 MATLAB 關於我們 聯絡資訊
如果 function 是 長得像 function fval = f(x) fval = exp(x)*2 那丟入的 x 是 scalar 就會傳出 scalar 是 matrix 就會是 element by elment 的 matrix 我想問的是如果 function 長得像是 function fval = f(x) fval = sum (x*randn(6,1)) 顯然丟 scalar 還是可以運作 但是丟 matrix 程式就會告訴你說矩陣維度不對 (除非剛好對) 除了重寫function外 有沒有辦法讓他也變成 element by elment 的計算結果呢? 比如說跟 MATLAB 宣告 if size(x) ~= 1 怎樣怎樣的 感謝回答 這問題困擾我很久了... 目前都只能徒法煉鋼 用 for loop 帶入值 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 74.126.231.103
ericabab:你可以寫成 fval=sum( x.*randn(size(x)) ) 11/20 10:11
JamesChen:這樣結果就不一樣了 不是我要的東西 11/20 16:32
JamesChen:這也只是個例子 我想問的是 general 的方法 11/20 16:32
ericabab:那我沒辦法了,看不懂你的general問題 11/20 18:18
ak075:*是矩陣相乘的意思,要改.*吧 11/20 20:09
ak075:randn(6,1)是6x1矩陣.....用*x維度只能1x6 11/20 20:11