matlab 转换为正整数_【MATLAB】专题1笔记 MATLAB基础知识
視頻課程參考:https://www.bilibili.com/video/BV19J411W7Ta
數(shù)值問(wèn)題-->求解算法-->程序?qū)崿F(xiàn)-->結(jié)果分析
MATLAB ?功能? :數(shù)值計(jì)算,符號(hào)計(jì)算,圖形繪制,程序流程繪制,工具箱
數(shù)值計(jì)算方法:迭代法,二分法,割線法
1.1 MATLAB系統(tǒng)環(huán)境
1.窗口???
(1)主窗口(2)命令行窗口?>>命令提示符????…續(xù)行符????(3)當(dāng)前文件夾窗口
設(shè)置當(dāng)前文件夾?1.在當(dāng)前文件夾工具欄或者當(dāng)前文件夾窗口中選擇某文件夾為當(dāng)前文件夾? 2.使用cd命令
先建立文件夾,再將當(dāng)前文件夾設(shè)置為當(dāng)前文件夾
(4)工作區(qū)窗口? 變量的顯示,保存,刪除等
2.MATLAB的搜索路徑
變量->內(nèi)部函數(shù)->程序文件->當(dāng)前文件夾下的程序文件->文件搜索路徑文件夾中的程序文件
>> clear >> x=sin(1) x = ??? 0.8415 >> sin=[1,2,3,4,5]?????????? 建立一個(gè)與正弦函數(shù)同名的變量 sin = ???? 1???? ?2???? 3???? 4???? ?5 >> x=sin(1)??? 說(shuō)明這個(gè)變量是引用sin的第一個(gè)元素?? 說(shuō)明MATLAB的變量名優(yōu)先 r |
如何設(shè)置文件搜索路徑?
1.用Path命令設(shè)置文件搜索路徑?? e.g.?>>path(path,'e\work)
2.用對(duì)話(huà)框設(shè)置文件搜索路徑
1.2MATLAB數(shù)值數(shù)據(jù)
1.數(shù)據(jù)類(lèi)型的分類(lèi)
(1)整型:無(wú)符號(hào)整數(shù),帶符號(hào)整數(shù)
e.g. 無(wú)符號(hào)9位整數(shù)數(shù)據(jù)范圍:00000000~11111111 (0~)
????? 帶符號(hào)8位整數(shù)數(shù)據(jù)范圍:10000000~01111111 (-)
MATLAB提供了數(shù)據(jù)類(lèi)型轉(zhuǎn)換函數(shù)實(shí)現(xiàn)數(shù)據(jù)類(lèi)型的轉(zhuǎn)換,例如, uint8函數(shù)將數(shù)值數(shù)據(jù)轉(zhuǎn)換為無(wú)符號(hào)8位整數(shù),int8函數(shù)將數(shù)值數(shù)據(jù)轉(zhuǎn)換為帶符號(hào)8位整數(shù)。
(2)浮點(diǎn)型:單精度、雙精度
單精度型實(shí)數(shù)在內(nèi)存中占用4個(gè)字節(jié),雙精度型實(shí)數(shù)在內(nèi)存中占用8個(gè)字節(jié)
single函數(shù):其他類(lèi)型的數(shù)據(jù)轉(zhuǎn)換為單精度型
double函數(shù):其他類(lèi)型的數(shù)據(jù)轉(zhuǎn)換為雙精度型
>> class(4) ans = ??? 'double' >> ?class(single(4)) ans = ??? 'single' |
(3)復(fù)數(shù)型 :? 實(shí)部,虛部?? 實(shí)部和虛部默認(rèn)為雙精度型,虛數(shù)單位用i或j來(lái)表示
real函數(shù):求復(fù)數(shù)的實(shí)部
imag函數(shù):求復(fù)數(shù)的虛部
2.數(shù)值數(shù)據(jù)的輸出格式
fomat命令的格式:format 格式符? fomat命令只影響數(shù)據(jù)輸出格式,而不影響數(shù)據(jù)的計(jì)算和存儲(chǔ)
>> format ?long >> 50/3 ans = ? 16.666666666666668 >> format??? 默認(rèn)short >> 50/3 ans = ?? 16.6667 |
3.常用數(shù)學(xué)函數(shù)
(1)函數(shù)的調(diào)用格式:? 函數(shù)名(函數(shù)自變量的值)
函數(shù)的自變量規(guī)定為矩陣變量,當(dāng)然也可是標(biāo)量,標(biāo)量本身是矩陣的一種特例。
函數(shù)在運(yùn)算時(shí)是將函數(shù)逐項(xiàng)作用于矩陣的每個(gè)元素上,所有最后運(yùn)算的結(jié)果就是一個(gè)與自變量同型的矩陣。
>> A=[4,2;3,6]???? ????矩陣A,2行2列 A = ???? 4???? ?2 ???? 3???? ?6 >> B=exp(A)????? ??調(diào)用exp函數(shù),求自然指數(shù),自變量為矩陣A B = ?? 54.5982??? 7.3891???????????? B也是一個(gè)矩陣,每一個(gè)元素都是A對(duì)應(yīng)元素求自然指數(shù)得來(lái)的 ?? 20.0855? ?403.4288 |
(2)常用函數(shù)的應(yīng)用
1??三角函數(shù)有以弧度為單位的函數(shù)和以角度為單位的函數(shù),如果是以角度為單位的函數(shù)就在函數(shù)名后面加“d”,以示區(qū)別。
>> sin(pi/2) ans = ???? 1 >> sind(90) ans = ???? 1 |
2??abs函數(shù)可以求實(shí)數(shù)的絕對(duì)值、復(fù)數(shù)的模、字符串的ASCII碼值
>> abs(-4) ans = ???? 4 >> abs(3+4i) ans = ???? 5 >> abs('a') ans = ??? 97 |
3??用于取整的函數(shù):fix ??? floor ?? ceil ?round
?round:按照四舍五入的規(guī)則取整
? ceil:向上取整,取大于等于這個(gè)數(shù)的第一個(gè)整數(shù)
?floor:向下取整,取小于等于這個(gè)數(shù)的第一個(gè)整數(shù)
? fix:固定取靠近0的那個(gè)整數(shù),即舍去小數(shù)取整
Q.求三位正整數(shù)的個(gè)位數(shù)字、十位數(shù)字、百位數(shù)字 >> m=345 m = ?? 345 >> m1=rem(m,10)???? ?m除10的余數(shù)賦值給m1 m1 = ???? 5 >> m2=rem(fix(m/10),10)??? 先對(duì)345除10的結(jié)果取整,為34,再34除10的余數(shù) m2 = ???? 4 >> ?m3=fix(m/100) m3 = ???? 3 |
求1~100區(qū)間所有的素?cái)?shù)?? ?matlab提供了一個(gè)判斷n是否為素?cái)?shù)的函數(shù) ?isprime(n),當(dāng)n是素?cái)?shù)時(shí)返回1,否則返回0. >> x=1:100 x = ? 1 至 15 列 ???? 1???? ?2???? 3???? 4???? ?5???? 6???? 7???? ?8???? 9??? 10??? ?11??? 12??? 13??? ?14??? 15 ? 16 至 30 列 ??? 16??? ?17??? 18??? 19??? ?20??? 21??? 22??? ?23??? 24??? 25??? ?26??? 27??? 28??? ?29??? 30 ? 31 至 45 列 ??? 31??? ?32??? 33??? 34??? ?35??? 36??? 37??? ?38??? 39??? 40??? ?41??? 42??? 43??? ?44??? 45 ? 46 至 60 列 ??? 46??? ?47??? 48??? 49??? ?50??? 51??? 52??? ?53??? 54??? 55??? ?56??? 57??? 58??? ?59??? 60 ? 61 至 75 列 ??? 61??? ?62??? 63??? 64??? ?65??? 66??? 67??? ?68??? 69??? 70??? ?71??? 72??? 73??? ?74??? 75 ? 76 至 90 列 ??? 76??? ?77??? 78??? 79??? ?80??? 81??? 82??? ?83??? 84??? 85??? ?86??? 87??? 88??? ?89??? 90 ? 91 至 100 列 ??? 91??? ?92??? 93??? 94??? ?95??? 96??? 97??? ?98??? 99?? 100 >> k=isprime(x)?? 調(diào)用函數(shù),要么為1要么為0 k = ? 1×100 logical 數(shù)組 ? 1 至 22 列 ?? 0?? ?1?? 1?? 0?? ?1?? 0?? 1?? ?0?? 0?? 0?? ?1?? 0?? 1?? ?0?? 0?? 0?? ?1?? 0?? 1?? ?0?? 0?? 0 ? 23 至 44 列 ?? 1?? ?0?? 0?? 0?? ?0?? 0?? 1?? ?0?? 1?? 0?? ?0?? 0?? 0?? ?0?? 1?? 0?? ?0?? 0?? 1?? ?0?? 1?? 0 ? 45 至 66 列 ?? 0?? ?0?? 1?? 0?? ?0?? 0?? 0?? ?0?? 1?? 0?? ?0?? 0?? 0?? ?0?? 1?? 0?? ?1?? 0?? 0?? ?0?? 0?? 0 ? 67 至 88 列 ?? 1?? ?0?? 0?? 0?? ?1?? 0?? 1?? ?0?? 0?? 0?? ?0?? 0?? 1?? ?0?? 0?? 0?? ?1?? 0?? 0?? ?0?? 0?? 0 ? 89 至 100 列 ?? 1?? ?0?? 0?? 0?? ?0?? 0?? 0?? ?0?? 1?? 0?? ?0?? 0 >> k1=find(k)? ?k1向量中的元素為k向量中非0元素的序號(hào) k1 = ? 1 至 15 列 ???? 2???? ?3???? 5???? 7??? ?11??? 13??? 17??? ?19??? 23??? 29??? ?31??? 37??? 41??? ?43??? 47 ? 16 至 25 列 ??? 53??? ?59??? 61??? 67??? ?71??? 73??? 79??? ?83??? 89??? 97 >> p=x(k1) p = ? 1 至 15 列 ???? 2???? ?3???? 5???? 7??? ?11??? 13??? 17??? ?19??? 23??? 29??? ?31??? 37??? 41??? ?43??? 47 ? 16 至 25 列 ??? 53??? ?59??? 61??? 67??? ?71??? 73??? 79??? ?83??? 89??? 97 |
1.3 變量及其操作
1.變量與賦值語(yǔ)句
? 變量:內(nèi)存單元的抽象,通過(guò)一個(gè)變量名訪問(wèn)內(nèi)存單元。
? 在MATLAB中,變量名是以字母開(kāi)頭,后接字母、數(shù)字或下劃線的字符序列,最后63字符。區(qū)分大小寫(xiě)。
? 標(biāo)準(zhǔn)函數(shù)名以及命令名必須用小寫(xiě)字母。
賦值語(yǔ)句兩種格式:?變量=表達(dá)式
表達(dá)式
Q. >> ?x=sqrt(7)-2i x = ?? 2.6458 - 2.0000i >> ?y=exp(pi/2) y = ??? 4.8105 >> ?z=(5+cosd(47))/(1+abs(x-y)) z = ??? 1.4395 |
2.預(yù)定義變量
預(yù)定義變量是由系統(tǒng)本身定義的變量。
????????? ans是默認(rèn)賦值變量
i和j代表虛數(shù)單位
pi代表圓周率
NaN代表非數(shù)(作圖時(shí)需要裁掉部分,把需要裁掉的部分的坐標(biāo)設(shè)為NaN即可)
3.變量的管理
(1)內(nèi)存變量的刪除與修改?? (工作區(qū)窗口修改)
who命令和whos命令? 顯示已經(jīng)駐留的變量名清單
(2)內(nèi)存變量文件
用于保存MATLAB工作區(qū)變量的文件叫做內(nèi)存變量文件,其擴(kuò)展名為.mat,也叫MAT文件。(保存數(shù)據(jù)的一種二進(jìn)制格式文件)
save命令:創(chuàng)建內(nèi)存變量文件。load命令:裝入內(nèi)存變量文件。
>> save mydata a x? 將變量a和x保存在mydata.mat文件中
>>load mydata?
1.4MATLAB的矩陣表示
1.矩陣的建立
2.結(jié)構(gòu)矩陣與單元矩陣
(1)結(jié)構(gòu)矩陣:格式:結(jié)構(gòu)矩陣元素.成員名=表達(dá)式
(2)單元矩陣:建立單元矩陣和一般矩陣相似,直接輸入就可以了,知識(shí)單元矩陣元素用大括號(hào)括起來(lái)。
1.5矩陣元素的引用
1.(1)通過(guò)下標(biāo)來(lái)引用矩陣的元素
???????????? A(3,2)表示A矩陣第三行第二列的元素
(2)通過(guò)序號(hào)引用
矩陣元素按列存儲(chǔ),首先存儲(chǔ)矩陣的第一列元素,然后存儲(chǔ)第二列元素,…,一直到矩陣的最后一列元素。
矩陣元素的序號(hào)就是矩陣元素在內(nèi)存中的排列順序。
2.利用冒號(hào)表達(dá)式獲得子矩陣
? 子矩陣是由矩陣中的一部分元素構(gòu)成的矩陣。
3.利用空矩陣刪除矩陣的元素
4.改變矩陣的形狀
1.6 MATLAB基本運(yùn)算
1.算術(shù)運(yùn)算
(1)基本算術(shù)運(yùn)算(MATLAB的算術(shù)運(yùn)算是在矩陣意義下進(jìn)行的,單個(gè)數(shù)據(jù)的算術(shù)運(yùn)算只是矩陣運(yùn)算的一種特例)
基本算術(shù)運(yùn)算+,-,,^(乘方),/(右除),\(左除)
加減:要求矩陣同型,標(biāo)量也可跟矩陣的每一個(gè)元素進(jìn)行加減(不同型,給出錯(cuò)誤信息)
乘法:A的列數(shù)等于B的行數(shù)(不相容給出錯(cuò)誤信息)
除法:A為非奇異矩陣,B/A等效于B* inv(A),B\A等效于inv(A)*B
乘方:A^x,要求A為矩陣,x為標(biāo)量
(2)點(diǎn)運(yùn)算
(3)關(guān)系運(yùn)算
< ,<=,>, >=, ==(等于), ~=(不等于)
關(guān)系成立,結(jié)果為1;不成立,為0
當(dāng)參與比較的兩是兩個(gè)同型矩陣時(shí),是對(duì)相同位置的元素按標(biāo)量關(guān)系運(yùn)算規(guī)則逐個(gè)進(jìn)行,最終結(jié)果是一個(gè)與原矩陣同型的矩陣,它的元素由0、1組成。
(4)邏輯運(yùn)算
運(yùn)算優(yōu)先級(jí):算術(shù)運(yùn)算>關(guān)系運(yùn)算>邏輯運(yùn)算,但邏輯非運(yùn)算時(shí)單運(yùn)算,它比雙目運(yùn)算優(yōu)先級(jí)高
2.字符串處理
(1)字符串是用單引號(hào)括起來(lái)的字符序列。
(2)若字符串中的字符含有單引號(hào),則該單引號(hào)字符要用兩個(gè)單引號(hào)表示。
(3)可建立多行字符串,形成字符串矩陣。
(4)字符串的執(zhí)行:eval(s)
(5)字符串與數(shù)值之間的轉(zhuǎn)換:
abs和double函數(shù)都可以獲取字符串矩陣所對(duì)應(yīng)的ASCII碼數(shù)值矩陣,char函數(shù)可以把ASCII碼數(shù)值矩陣轉(zhuǎn)換為字符串矩陣。
(6)字符串的比較:可以利用關(guān)系運(yùn)算符或者字符串比較函數(shù)。
函數(shù)strcmp(s1,s2)用來(lái)比較字符串s1和s2是否相等,相等則返回1,否則返回0;
函數(shù)strncmp(s1,s2,n)用來(lái)比較字符串s1和s2前n個(gè)字符是否相等,相等則返回1,否則返回0;
函數(shù)strcmpi(s1,s2)在忽略字母大小寫(xiě)的前提下,比較字符串s1和s2是否相等,相等則返回1,否則返回0;
函數(shù)strncmpi(s1,s2,n) 在忽略字母大小寫(xiě)的前提下,比較字符串s1和s2前n個(gè)字符是否相等,相等則返回1,否則返回0。
(7)字符串的查找與替換
findstr(s1,s2)返回短字符串在長(zhǎng)字符串中的開(kāi)始位置(s1,s2可互換)
strrep(s1,s2,s3)將字符串s1中的所有子字符串s2替換為字符串s3
總結(jié)
以上是生活随笔為你收集整理的matlab 转换为正整数_【MATLAB】专题1笔记 MATLAB基础知识的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: java继承序列化_java中序列化之子
- 下一篇: 【RippleNet】(一)prepro