1. 程式人生 > >MATLAB入門學習-#1-基礎內容(介面、目錄、語句、變數、資料)

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類構造的物件

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

  1. 建立

使用單撇號’’括起來的字元序列,比如str = ‘This is a string’;

  1. 字串操作
  • 獲取字元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'
  1. 字串與數值的互換

str2num
num2str
示例:

>> c='1234.56';d=789.123;
>> a=str2num(c)

a =

   1.2346e+03

>> b=num2str(d)

b =

    '789.123'

5.5結構體field

  1. 建立

結構體.成員名 = 表示式
a.x1 = 1;
a.x2 = ‘str’;
a.x3 = [11 12 13];
建立結構體a,成員包括三個分別為x1, x2, x3。

  1. 結構體操作

isstruct函式
fieldnames函式
isfield函式
rmfield函式
getfield函式

這些東西就是用到了再去查吧,反正結構體就是圍繞field展開

5.6單元cell

建立:
使用{}括起建立
a = {1, ‘str’, [11 12 13 14]};
多的就不說了,用到了去看就好