MATALAB学习笔记(一)

一、矩阵
1、矩阵赋值

矩阵分为行row 和列column

赋值行如下图:
在这里插入图片描述

赋值行和列 用;进行分隔

在这里插入图片描述
矩阵之间的赋值
在这里插入图片描述

2、矩阵运算
加法
(1)
在这里插入图片描述

A矩阵的第一行元素与B的三行分别相加

矩阵索引

图片转自https://xiongyiming.blog.csdn.net/article/details/81746332
在这里插入图片描述

(2)

在这里插入图片描述
A的第一列与B的三列分别相加

(3)
在这里插入图片描述

两行乘以三行无法执行

(4)
'

矩阵对应位置相加

减法与加法相同

乘法
(1)
在这里插入图片描述
A 的第一行分别乘以B的列得到一行

(2)

在这里插入图片描述在这里插入图片描述
A的行乘以B的列

点乘
在这里插入图片描述
点乘是对应位置相乘

二、关键字
与c语言类似,一般的有disp、input、for、while、if、else、elseif等

disp(): display缩写,显示的意思,这个函数是将()中的内容显示在command window中
在这里插入图片描述
小技巧:在command window中语句加分号按回车后不会显示

input(str):输入,他是一个函数,在command window中显示str的内容,要求输入,str的内容一般为提示输入内容,但是输入的内容必须是字符串,得加上引号。
在这里插入图片描述
while 、if、else、elseif、end、continue、break:
在这里插入图片描述
每个语句后要加上end关键字

for:n=1是初值,n=1:100是执行100次的意思
在这里插入图片描述

三、函数
内置函数:

类似input 、disp、max、min等都是已经写好的函数,使用方法可以如下获取:
在这里插入图片描述
点开input函数的文档即可获得使用方法。

自定义函数
在这里插入图片描述
这是一个标准的函数形式,使用function关键字,function C =F2C()中F2C是函数名,括号中可以加参数,此处注意函数名应该与文件名一致,才可以在脚本或其他文件中调用自定义函数,当然前提是matalab应该包含了自定义函数的路径。

function handles(函数的句柄)
在这里插入图片描述
在这里插入图片描述
在这种模式中@()中的参数是f 的参数,与函数的参数对应

四、变量类型
int (u)int16 (u)int8 (u)int32 (u)int32 double single cell logic string char struct
function handle

string:
string类型的变量只有一个元素,即为整个字符串,在索引的时候没有办法索引单个字符,char型的变量是字符的集合,可以索引单个字符。变量类型的定义可以使用函数进行转化,如char(变量名);
在这里插入图片描述
在这里插入图片描述

a赋值97后默认为double类型。
在这里插入图片描述
在这里插入图片描述
使用char()转化为char型。
字符串反转实例:

str1 = char(input("please input a string:"));
len = strlength(str1);
str2 = str1;
count_1 = 1;
count_2 = len;
for n=1:len
    str2(count_1) = str1(count_2);
    count_1 =count_1 +1;
    count_2 = count_2-1;
end

struct类型:顺序存放各种数据的一种结构
(1)定义方式如下:
在这里插入图片描述

索引方式如下:
在这里插入图片描述
(2)在这里插入图片描述

函数:
在这里插入图片描述

**cell类型:**分各个区域的一种结构,每个区域存放一个pointer(指针),指向不同的数据体
定义和索引:
(1)
在这里插入图片描述

(2)
在这里插入图片描述

在索引的时候应注意:
当有一个field是矩阵时,用{}获得矩阵的具体值
在这里插入图片描述
函数:
在这里插入图片描述

函数介绍:
cat(x,A,B) : 处理多维cell,x = 1是row拼接,x=2是column拼接,x = 3 是layer拼接
如下图:

在这里插入图片描述

A = [1 2 3 ; 4 5 6];
B = [7 8 9;1 2 3];
C = cat(3,A,B);

%结果
>> C

C(:,:,1) =

     1     2     3
     4     5     6


C(:,:,2) =

     7     8     9
     1     2     3

reshape函数:
将元素个数一样的矩阵进行转化:B = reshape(A,new_row,new_column)

A = [1 2 ; 4 5 ];
B = reshape(A,1,4);
>> B

B =

     1     4     2     5

检查变量的类型:
在这里插入图片描述

五、文件存储和读取
1、简单的文件存储函数
save/load(“file_name”,("-ascii"));
当有-ascii指令时,文本可见,不用时文本被压缩

两个函数还有很多参数,可以通过help指令查看

2、Excel文件的读取和写入:
xslread() 和xslwrite()两个函数也可以通过help指令获得详细用法,不过R2019a后的MATLAB不建议使用这两个函数,推荐使用其他函数 readtable、readmatrix 或 readcell
和writecell、writetable、writematrix。

3、文本文件的读取和写入
fprintf()和fread()函数
fprintf():

A1 = [9.9, 9900];
A2 = [8.8,  7.7 ; ...
      8800, 7700];
formatSpec = 'X is %4.2f meters or %8.3f mm\n';
fprintf(formatSpec,A1,A2)
X is 9.90 meters or 9900.000 mm
X is 8.80 meters or 8800.000 mm
X is 7.70 meters or 7700.000 mm

formatSpec 输入中的 %4.2f 指定输出中每行的第一个值为浮点数,字段宽度为四位数,包括小数点后的两位数。formatSpec 输入中的 %8.3f 指定输出中每行的第二个值为浮点数,字段宽度为八位数,包括小数点后的三位数。\n 为新起一行的控制字符。

注:其中部分图片截自郭彦甫教授的教学ppt

  • 1
    点赞
  • 31
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值