中国汽车工程师之家--聚集了汽车行业80%专业人士 

论坛口号:知无不言,言无不尽!QQ:542334618 

本站手机访问:直接在浏览器中输入本站域名即可 

  • 144查看
  • 0回复

[MATLAB] MATLAB 学习笔记1

[复制链接]

该用户从未签到

发表于 2-3-2024 09:50:48 | 显示全部楼层 |阅读模式

汽车零部件采购、销售通信录       填写你的培训需求,我们帮你找      招募汽车专业培训老师


目录

1、clc和clear

2、%和%%

3、求x^2-3x+1=0的根

4、保留小数点位数

5、绝对值、模、字符串的ascii码

6、取整函数

7、求余函数

8、同一脚本下保存文件数据和导入文件数据

9、sub2ind函数

10、ind2sub函数

1.注意:clc和clear区别:

clc:清除命令窗口的所有命令    clear:清除工作区的所有变量。2.%和%%的区别:

%:注释某一行   %% :注释一段(两个百分号+一个空格:注释的一段,从%%开始,到下一个%%前面结束)
3.求x^2-3x+1=0的根,MATLAB的解法

(1)利用MATLAB多项式求根函数roots来求根。

>> p=[1,-3,1];>> x=roots(p)x =    2.6180    0.3820
(2)利用求单变量非线性方程根的函数fzero,求方程在某个初始点附近的实根。

>> f=@(x) x*x-3*x+1;x1=fzero(f,0.5)x2=fzero(f,2.5)x1 =    0.3820x2 =    2.61804.数值数据的输出格式保留两位小数:format bank
小数分数表示:format rat>> x=pix =    3.1416>> format bank>> xx =     3.14>> format rat>> xx =355/1135.abs函数

求字符串的ascii码值、实数的绝对值、复数的模

>> abs('a')ans =97>>  abs(-3)ans =3>>  abs(3i+4)ans =56.用于取整的函数有round、ceil、floor、fix

round函数是按照四舍五入的规则取整ceil是向上取整floor是向下取整fix是固定取靠近0的那个整数,也就是舍去小数取整(取整函数)>> round(4.6)ans =       5       >> ceil(4.6)ans =       5       >> floor(4.6)ans =       4       >> fix(4.6)ans =       47.rem函数(求余函数):两个数相除之后的余数

>> a=10;>> b=5;>> s=rem(a,b)s =       08.
save命令:创建内存变量文件
load命令:装入内存变量文件

在运行程序之后,会得到许多数据,为了下次能够接着使用这些数据,把数据保存到电脑是方程必要的,下一次需要这些数据是就可以直接导出,而不必再次运行程序了,这在结果数据非常大的情况下非常重要。

格式:save 数据名 要保存的变量名。(如果有多个变量名则用空格隔开。)

保存后在路径中就会生成一个.mat格式的文件

如果想把数据保存其他位置,可以采用这种形式:

save(‘路径名’,‘要保存的变量’)如:save(‘D:\\files.mat’)

意为将数据保存在D盘,名称为files.mat。

注意(1)要保存的mat文件要写出后缀;(2)要保存的变量名要用单引号引起来

MATLAB 学习笔记1w1.jpg
load函数(数据读取)格式:load 数据文件名即可调用,也可以在MATLAB界面中左侧的当前文件夹中双击mat文件。>> x=[1,2,3;4,5,6;7,8,9];   y=[3,5,7,9;2,4,6,8]y =3579       2              4              6              8       >> save file y>> clear>> load file>> yy =35792468
9.sub2ind函数

作用:它是下标与索引相互转换用的。

D=sub2ind(S,I,J)

S表示行数和列数组成的向量,I表示转换矩阵的行下标,J表示转换矩阵的列标。

>> A=[1:3;4:6]A =12     3     4     5     6>> D=sub2ind(size(A),[1,2;2,2],[1,1;3,2])D =1264其中D=sub2ind(size(A),[1,2;2,2],[1,1;3,2])是索引(1,1)、(2,1)、(2,3)、(2,2)的坐标size():获取矩阵的行数和列数。误区:误认为是索引出坐标所对应的数,显而易见(2,2)对应的数是5,而结果是4,那是因为sub2ind函数是对矩阵索引号检索的函数,即它所处的位置那么如何取出A中这些坐标位置的值呢?输入代码即可:>> x=A(D)x =146510.ind2sub函数
作用:与上个函数作用相反,将把矩阵元素的序号转成对应的下标

调用格式为:

[I,J]=ind2sub(S,D)

I:行下标  J:列下标 S:行数和列数组成的向量 D:元素序号

MATLAB 学习笔记1w2.jpg

>> ind = [3 4 5 6];   sz = [3 3];   [row,col] = ind2sub(sz,ind)row =     3     1     2     3col =     1     2     2     2

快速发帖

您需要登录后才可以回帖 登录 | 注册

本版积分规则

QQ|手机版|小黑屋|Archiver|汽车工程师之家 ( 渝ICP备18012993号-1 )

GMT+8, 3-5-2024 08:49 , Processed in 0.360222 second(s), 30 queries .

Powered by Discuz! X3.5

© 2001-2013 Comsenz Inc.