Re: [問題] 創造方程式跟定義變數出現錯誤
※ 引述《LongFive ( ==龍五==)》之銘言:
: 小的是超新手,對於matlab才剛上手2天,有些很淺薄基礎觀念想請教版上高手,
: 老實說這幾天也google了很多論壇,有些有找到解答,便依樣畫葫蘆去作,
: 但後面出現些錯誤就不知道該怎麼處理了,希望有前輩可以稍微提點,謝謝!!
: 1.寫一個骰子的隨機矩陣 dice(m,n),輸入m,n會產生m*n矩陣,數字都在1~6間
: 小弟寫法(很簡陋):
: function x = dice(m,n)
: %randint(m,n,[1 6])
: randint(m,n,[1 6])
: end
: ---------
: 產生錯誤:
: Warning: This is an obsolete function and may be removed in the future.
: Please use RANDI
: instead.
: > In randint at 41
: In dice at 6
: 我知道第一個是叫我改用RANDI這個函數,但我改用好像還是有錯,請教有沒有甚麼
: 比較好的寫法,謝謝!
你可以help一下randi的用法...其實跟舊函數randint有點不太一樣
應該講argument的輸入有點改變 要改成 randi( [ 1 , 6 ] , m , n )
建議你看一下印象會比較深刻
: 2.續上題,我想用一個常數pk去代表dice(1,500),即為pk=dice(1,500)
: 但我執行pk=dice(1,500)後,照理pk應該就被定義了,可是當我要用hist(pk)畫出
: 長條圖時,系統卻告訴我Undefined function or variable 'pk'
: 所以沒辦法跑出長條圖,後來我再用syms去定義pk,卻還是不行@@? 請教原因!
問題出在你原本的function沒有定義x是什麼東西
雖然function寫輸出是x 但是內文沒有x
所以只要改成 x = randi( [ 1 , 6 ] , m , n ); 應該就可以了
: 3. 小弟想創造一個函式:f(x)= 1/(1+exp(-x)),卻不知道該怎麼用語法寫。
: 想到用:
: function M = f(Y)
: Y=1/(1+exp(-x))
: end
: 但這樣子自知沒有這麼簡單,卻也不知道該怎麼修補比較好...唉
這非常的奇怪= = function輸出明明就是M
但內文卻是給Y 這有牛頭不對馬尾
而且Y是function輸入的argument 怎麼可以在內文又變成輸出
我揣測一下你想要的原意
function y = f(x)
y = 1/(1+exp(-x));
end
這樣寫應該就可以了
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 140.113.127.59
推
01/23 10:57, , 1F
01/23 10:57, 1F