0%

Matlab零散的知识

Matlab零散知识

单位矩阵

  • 在矩阵的乘法中,有一种矩阵起着特殊的作用,如同数的乘法中的1,这样的矩阵被称为单位矩阵。

  • 它是一个方阵,从左上角到右下角的对角线(称为主对角线)上的元素均为1,除此之外全部为0.根据单位矩阵的特点,任何矩阵与单位矩阵相乘都等于本身,而单位矩阵因此独特性在高等数学中也有广泛应用。

  • 在Matlab中单位矩阵用eye(n,m)生成

    变量的存取

    1 使用命令实现变量的存取(load:取,save:存)

  • 格式1
    load 文件名 变量名;
    save 文件名 变量名;
    例如:

    Matlab
    1
    save file1.mat A;
  • 格式2
    S = load(‘文件名’, ‘格式’, ‘变量名’)
    save(‘文件名’, ‘格式’, ‘变量名’)
    例如:

    Matlab
    1
    2
    3
    save('file1.mat', '-mat', 'A')
    save('file1.txt', '-ascii', 'A')
    save('file2.txt', '-ascii', 'tabs', 'A')
    • 其中格式有:
      • ‘-mat’ : 二进制格式
      • ‘-ascii’ : 8位文本格式
      • ‘-ascii’,’-tabs’: 以8位文本和table分隔符分割的格式

        2 使用交互式实现变量的存取

        即通过鼠标点击工作空间窗口来实现

对Excle文件的读取

例子:

1
2
num
=xlsread('data.xls','Sheet1','B3:F6')

进行Excel表格读取时请注意,关闭需要打开的工作表,否则进程占用,无法读取。
*进行Excel表格读取时请注意,数据范围那一项中间不能留有空格,即’A2:D4’ 而不是’A2 : D4’ *

类型转换问题

  • abs和double可以将字符转换为ascii码
  • number2str将数字转换为字符
  • char将ascii码转换为字符

    Matlab中步长的意思是:差值而不是间隔。例如:

    x[1:2:12] :结果就为 1 3 5 7 9 11

    数组距离问题:

    (end-10:end)之间有11个元素

    矩阵索引问题:

  • 无法对临时矩阵进行索引

    修改命令行错误:

    有时候我们输入表达式时会带有错误,当你按 ENTER 回车后才意识到,这时没必须重 新输入整行,只需使用方向键向上移动,修正错误,然后按回车重新输入,MATLAB 会修 正输出

    还可以在命令窗口中输入 quit 命令,这样也能关闭 MATLAB。

.x和x的区别:

  • 前者是矩阵中的元素相乘
  • 后者是两个矩阵相乘

绘画三维图形时,使用的meshgrid命令

命令文件和函数文件的区别和联系:

(1)命令文件没有输入参数,也不返回输出参数,而函数文件可以带输入参数,也可以返回输出参数。 (2)命令文件对MATLAB工作空间中的变量进行操作,命令执行的结果返回到工作空间中,所产生的变量为全局变量,而函数文件中定义的变量为局部变量,不在工作空间中显示,当函数文件执行后,这些变量被清除。 (3)命令文件可以直接运行,而函数文件不能直接运行,要以函数调用的方式运行。

创建符号常量的意义:

可以避免精度损失的问题
例如计算机中1/3的值是0.3333333,但如果x=syms(‘1/3’),则x始终是1/3而不是0.33333

计算伴随矩阵

inv(A)*det(A)

将cell数组转化为矩阵

若cell中的元素为含有数字的字符串

str2num(char(answer));

若cell中的元素为数值型,则使用cell2amt

临时

prompt={‘请输入正弦函数的振幅:’,’请输入正弦函数的频率:’};
name=’输入’;
numlines=1;
defaultanswer={‘5’,’10’};
answer=inputdlg(prompt,name,numlines,defaultanswer);
answer1=str2num(char(answer));
amplitude=answer1(1);
frequency=answer1(2);
axes(handles.axes1);
x=0:pi/180:2pi;
y=amplitude
sin(frequency2pi);
plot(x,y)