matlab数组平方的计算自定义函数_从零开始的matlab学习笔记——(38)简单数论计算函数:取整,gcd,lcm,质数,全排列...
matlab應(yīng)用——求極限,求導(dǎo),求積分,解方程,概率統(tǒng)計(jì),函數(shù)繪圖,三維圖像,擬合函數(shù),動態(tài)圖,傅里葉變換,隨機(jī)數(shù),優(yōu)化問題....更多內(nèi)容盡在個人專欄:matlab學(xué)習(xí)
翻了翻優(yōu)化工具箱,發(fā)現(xiàn)內(nèi)容大多數(shù)都超出了我的知識范圍(我剛上大一...),所以這個咱們先放一放,這一節(jié)補(bǔ)充一些實(shí)用的數(shù)論計(jì)算函數(shù)
取整:
matlab提供了四種取整的函數(shù),我們拿這一組行矩陣為例:
x=[1.2 2.9 -3.2 -3.7 0]
1、floor下取整
x1=floor(x)
2、ceil上取整
x2=ceil(x)
3、fix函數(shù)(朝0取整)
這個簡單解釋一下,就是負(fù)數(shù)上取整,正數(shù)下取整。
x4=fix(x)
4、round函數(shù)(四舍五入)
round函數(shù)的用法有三種:
(1)round(x)
直接四舍五入
x3=round(x)
(2)round(x,n) 其中n>0
對小數(shù)部分四舍五入到第n位
ans1=round(pi , 3)
(3)round(x,n) 其中n<0
對整數(shù)部分四舍五入到第n位
ans2=round(12345.123 , -2)
最大公約數(shù),最小公倍數(shù):
gcd函數(shù)用于求最大公約數(shù),lcm函數(shù)用于求最小公倍數(shù)
x=1856120,y=1483720
ans1=gcd(x,y)
ans2=sym( lcm(x,y) )
注意這里的lcm之前用sym函數(shù)符號化處理了一下,不然數(shù)字太大,命令窗口顯示結(jié)果會出現(xiàn)一定問題,這算是個小技巧。關(guān)于sym函數(shù)的應(yīng)用,可以參考本專欄這一篇
淺吻板牙:從零開始的matlab學(xué)習(xí)筆記——(6)符號計(jì)算與極限?zhuanlan.zhihu.com求質(zhì)數(shù):
isprime函數(shù)用于求質(zhì)數(shù)操作
ans=isprime(x)
其中x為一個矩陣,ans為一個01矩陣,0代表這個位置對應(yīng)的x元素非質(zhì)數(shù),1代表是質(zhì)數(shù)
舉個例子,求1-30所有的質(zhì)數(shù)
x=1:30
pos=isprime(x)
ans=x(pos==1) %也可以寫成ans=x(pos),省略等于1條件,和c語言相似
先看pos函數(shù)存儲的01矩陣:
屏幕裝不下...然后輸出質(zhì)數(shù):
全排列:
perms函數(shù)用于計(jì)算某數(shù)列的全排列
注意這里的全排列是倒序的
我們看一個例子:
p1=perms(2:3:11)
p2=perms(11:-3:2)
輸出結(jié)果:
數(shù)據(jù)太多,截取一部分這節(jié)我們簡單說了說一些使用的數(shù)論計(jì)算函數(shù),下一節(jié)我們再說一說怎么使用find函數(shù)
歡迎喜歡的朋友點(diǎn)贊關(guān)注收藏啊:)
總結(jié)
以上是生活随笔為你收集整理的matlab数组平方的计算自定义函数_从零开始的matlab学习笔记——(38)简单数论计算函数:取整,gcd,lcm,质数,全排列...的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: go语言和python结合_Go+Pyt
- 下一篇: matlab人脸追踪,求大神帮助我这个菜