MATLAB入門學習-#1-基礎內容(介面、目錄、語句、變數、資料)
MATLAB入門學習-#1-基礎內容(介面、目錄、語句、變數、資料)
1.介面上都是啥
命令列視窗:就是寫命令還有顯示非圖形的計算結果的地方
當前資料夾:就是現在所在的目錄
工作區workspace:現在的變數及其值的情況
2.當前目錄(當前資料夾)的操作
涉及到了path,cd,userpath,savepath,pathtool這幾個命令
(可以使用help xxxx來查詢xxxx的用法,如help path)
path:就看當前在matlab檢索範圍的所有目錄
cd:current directory,當前所在目錄
userpath:同樣是當前所在目錄
pathtool:目錄的GUI(大概就是視窗圖形)視窗
下面程式碼看一看:
>> path MATLABPATH C:\Users\Administrator\Documents\MATLAB D:\Program Files\MATLAB\R2018a\toolbox\matlab\datafun D:\Program Files\MATLAB\R2018a\toolbox\matlab\datatypes D:\Program Files\MATLAB\R2018a\toolbox\matlab\elfun D:\Program Files\MATLAB\R2018a\toolbox\matlab\elmat D:\Program Files\MATLAB\R2018a\toolbox\matlab\funfun D:\Program Files\MATLAB\R2018a\toolbox\matlab\general D:\Program Files\MATLAB\R2018a\toolbox\matlab\iofun %中間省略了很多 >> cd C:\Users\Administrator\Documents\MATLAB >> userpath ans = 'C:\Users\Administrator\Documents\MATLAB' >> pathtool >> userpath('D:\Program Files\MATLAB\R2018a\toolbox\rtw\targets\xpc\xpcdemos') >> savepath %這一步就是將啟動預設目錄改到了 %'D:\Program Files\MATLAB\R2018a\toolbox\rtw\targets\xpc\xpcdemos'
3.簡單的語句規則
- 回車則表示一句結束,末尾無分號,則輸出該句執行官結果,末尾有分號,只執行,不輸出
>> a=5
a =
5
>> a=5;
- 註釋以%開頭表示
- 一行寫不開,用…續行,否則預設這一句已經完畢
4.變數管理
4.1變數命名
- 字母開頭,包括字母、數字、下劃線,區分大小寫
- 不宣告,不定義,拿來即用(與c語言不一樣)
4.2變數賦值
- 變數=表示式
- 表示式
- 前者將表示式的值賦值給=前的變數,後者將表示式的值賦值給預設變數ans
>> clear all >> a=1 a = 1 >> 1 ans = 1
4.3檢視當前變數(工作空間駐留變數)
- 工作空間視窗顯示
- 命令方式:who,whos
>> a=1;b=2;c=3;
>> who
您的變數為:
a ans b c
>> whos
Name Size Bytes Class Attributes
a 1x1 8 double
ans 1x1 8 double
b 1x1 8 double
c 1x1 8 double
4.4清除變數
use command called “clear”
4.5儲存變數
use command called “save”
5.資料操作
5.1資料型別
資料型別 | 描述 |
---|---|
int8 | 8位有符號整數 |
uint8 | 8位無符號整數 |
int16 | 16位有符號整數 |
uint16 | 16位無符號整數 |
int32 | 32位有符號整數 |
uint32 | 32位無符號整數 |
int64 | 64位有符號整數 |
uint64 | 64位無符號整數 |
single | 單精度數值資料 |
double | 雙精度數值資料 |
logical | 邏輯值為1或0,分別代表true和false |
char | 字元資料(字串作為字元向量儲存) |
單元格陣列 | 索引單元陣列,每個都能夠儲存不同維數和資料型別的陣列 |
結構體 | C型結構,每個結構具有能夠儲存不同維數和資料型別的陣列的命名欄位 |
函式處理 | 指向一個函式的指標 |
使用者類 | 使用者定義的類構造的物件 |
Java類 | 從Java類構造的物件 |
- 資料型別是可查的,使用"is"系列的command
- 資料型別的更多知識我看這個連結裡面就挺全:Matlab資料型別-來自leo_fighting
Q:單精度和雙精度的區別?
A:單精度和雙精度都屬浮點數,一個單精度浮點數佔4個位元組(32位),一個雙精度浮點數佔8個位元組(64位),所以雙精度浮點數所能表示的數字範圍比單精度大得多
Q:Int16, Int32, Int64是什麼鬼?
A:一開始看到Int16, Int32, Int64這三種類型就覺得有點怪, 為什麼要整個數字結尾的, 這麼幹就是想讓大家一眼就知道這個資料型別佔多大空間吧.
Int16, 等於short, 佔2個位元組. -32768 32767
Int32, 等於int, 佔4個位元組. -2147483648 2147483647
Int64, 等於long, 佔8個位元組. -9223372036854775808 9223372036854775807
這樣, 看起來比short,int,long更加直觀些!
5.2資料輸出格式
use the command called “format”
5.3數值型資料的建立
- a = 1;
建立double型資料a,值為1
轉化: - 比如 b = uint8(a);
a轉化為uint8型別(無符號整型,8位)賦值到b中,執行結果a型別不變。 - a = uint8(a);
a轉化為uint8型別。 - a =double(a);
a轉化為雙精度型別。
5.4字串str
- 建立
使用單撇號’’括起來的字元序列,比如str = ‘This is a string’;
- 字串操作
- 獲取字元ASCII值
double函式或者abs函式
double(‘a’);
輸出字元a的ASCII碼
- ASCII轉化為字元輸出
char函式
char(63);
輸出ASCII碼63代表的字元
注意,下面程式碼中的註釋是我實際操作中發現的課程沒提到的地方
即%命令後直接帶東西,不帶括號和引號,預設就作為字串了
>> abs('a')
ans =
97
>> double('a')
ans =
97
>>
>> c='a';
>> abs c %可以發現不帶括號和引號預設就作為字串了
ans =
99
>> abs(c)
ans =
97
>> char(97)
ans =
'a'
>> char 97 %可以發現不帶括號和引號預設就作為字串了
ans =
'97'
- 字串與數值的互換
str2num
num2str
示例:
>> c='1234.56';d=789.123;
>> a=str2num(c)
a =
1.2346e+03
>> b=num2str(d)
b =
'789.123'
5.5結構體field
- 建立
結構體.成員名 = 表示式
a.x1 = 1;
a.x2 = ‘str’;
a.x3 = [11 12 13];
建立結構體a,成員包括三個分別為x1, x2, x3。
- 結構體操作
isstruct函式
fieldnames函式
isfield函式
rmfield函式
getfield函式
這些東西就是用到了再去查吧,反正結構體就是圍繞field展開
5.6單元cell
建立:
使用{}括起建立
a = {1, ‘str’, [11 12 13 14]};
多的就不說了,用到了去看就好