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]};
多的就不说了,用到了去看就好