zoukankan      html  css  js  c++  java
  • matlab数学实验--第一章

    一、            数据和变量:

    省略号(三个英文句点):表示换行

    历史指令调用:用方向键上下

    数据显示格式:

                       format short

                       format long

                       format rational

     

    复数: I,j

    realmin:最小正实数

    realmax:最大正实数

    Inf:无穷大   eg:2/0

    NaN:不定值  eg:0/0

     

    二、            数组的输入与分析:

    中括号[]表示矩阵,同行元素用逗号或空格分隔;不同用分号或回车分隔。

             函数linspace(x1,x2,n)生成x1与x2间的n维等距行向量

             编址:不能为0,按列编址;

             冒号运算: eg;生成1到10,公差为2的等差数组:a=[1:2:10]

             Length: 计算向量的尺寸

    Size计算矩阵的尺寸

     

    查看矩阵的某个元素:eg:A(2,3)表示2行3列的元素

    矩阵元素的抽取:eg:A=[1 2 3; 4 5 6];

    A(2,:)表示抽取矩阵第二行的元素

    A(:,3)表示抽取矩阵第三列的元素

    子矩阵的抽取:A([1,2],[2,3]) 表示抽取第一行下标为1,2的元素2,3和第二行下标为2,3的元素5,6

    A(:)把矩阵A变成向量形式

     

    更改向量的元素:eg:  a(2)=6 把向量的第二元素改成6

    同理,改变矩阵的元素也一样,A(2,3)=7 二行三列的元素改为7

    拼接:eg:  [A,B]把A矩阵和B矩阵按行方式进行拼接,如果逗号改为分号就是按列进行拼接

     

    sum: 矩阵:列相加; 向量:全部相加

    prod(乘积): 如果自变量是向量,求所有向量的乘积; 如果自变量是矩阵,求每一列的乘积;

    min,max:如果自变量是向量,求所有向量的最小最大值; 如果自变量是矩阵,求每一列的最小最大值;

     

    特殊矩阵

    Zeros(m,n):零矩阵 ;   ones(m,n):一矩阵 ;  eye(m,n):单位矩阵

     

    导入外部excel数据文件:

    剪切板 + Array  Editor

    菜单import  data

     

    数组乘方:A.^K;  K.^A:表示矩阵中的每一个元素以K为底,对应元素的次方形成的新矩阵

    数组运算:A.*B,A./B;  A-3(每个元素-3)

     

     

    数学函数:

    矩阵的数字函数是按元素运算

    fix: 向0取整          

    ceil :向正无穷取整              

    rem:除法余数                             

    real:复数实部                   

    angle:复数幅角         

    log:自然对数 (ln)

       

    floor:向负无穷取整

    mod:模除求余

    abs:绝对值

    image:复数虚部

    conj:复数共轭

    log10:以10为底对数

    eg:以2为底4的对数为2 ---log2(4)      

     

    逻辑运算:

    any:至少有一个满足条件  all:必须全部满足条件

    find:找到满足条件元素的下标

     

    测试题:

    a表示每一列的最小值

    b表示每列最小值所在的行号

     

    分号的作用:

    不让表达式结果显示出来

    两个语句分隔符

    矩阵换行

     

     

    三、字符串、元胞和结构

    数据类型:

    数值(Double):

    逻辑(Logical):

    字符(Char):  a = '清心明目',b=a([4:-1:1]) 结果为: 目明清心

                                  字符串的拼接:t=’好’, c=[a,t] 结果为 清心明目好

    元胞(Cell):

    结构(Structure):

     

    字符串转化  num2str,str2num

     

     

    第一章作业题

    执行下列指令,观察运算结果,理解其意义

    (1)[a,b]=min([10 20;30 4])

    a的值是矩阵每一列的最小值,即10  4

    b的值是矩阵最小值所在的行号

     

    (2)[10 20;30 40]>=[40 30;20 10]

    返回对应元素比较结果的值0,1

     

    (3)find([10 20;30 40]>=[40 30;20 10])

    返回的结果是将矩阵先转化为列向量再比较得到的位置

    题中的矩阵变换为列向量为(10 30 20 40T ,(40 20 30 10)T;

    对应元素进行比较,结果为

    (4)[x,y]= find([10 20;30 40]>=[40 30;20 10])

    x是返回满足条件的元素所在行

    y是返回满足条件的元素所在列

    结果是

     

    (5)linspace(3,4,5)

    以3开始,以4结尾,分成5

     

    (6)fun='abs(x)',x=-2,eval(fun),double(fun)

    结果为:

    eval函数将括号内的字符串视为语句并运行

    double函数将字符串中每个字符的ASCII码返回

     

    (7)本金k以每年n次,每次p%的增值率增加,当增加到rk时所花费的时间为

    T=lnr/nln(1+0.01p), 用MATLAB表达式写出该公式并用下列数据计算:r=2,p=0.5,n=12.

     

    (8)已知函数f(x)=x4 -2x 在(-2,2)内有两个根。取步长h=0.05,通过计算函数值求得函数的最小值点和两个根的近似解。(求近似根等价于求函数绝对值的最小值点)

    第一种解法:

    最小值:

    x=-2:0.05:2;

    f=x.^4-2.^x;

    [fmin,min_index]=min(f)  %fmin:最小值;min_index最小值点编址

    x(min_index)  %最小值点

     

    近似解:

    [f1,x1_index]=min(abs(f))  %求近似根

    x(x1_index)

    x(x1_index)=[];  f=x.^4-2.^x;  %删去绝对值最小的点以求函数绝对值次小的点

    [f2,x2_index]=min(abs(f))   %求另一近似根

    x(x2_index)

     

    第二种解法:

    clear all;

    fun=inline(‘x.^4-2.^x’,’x’);

    [x,f]=fminbnd(fun,-2,2);   %求最小值

    %求零点

    fzero(fun,[-2,0]);

    fzero(fun,[0,2]);

     

     

     

    PS:

    iline函数用于定义函数

             变量名=inline(‘matlab有效表达式’,’变量1’,’变量2’……)

  • 相关阅读:
    parallel desktop ubuntu从18.04更新到20.04(包括安装Parallels Tools)
    一段奇怪的R代码
    ipynb(jupyter notebook)的git管理的比较好的方式
    对比jupyterlab和jupyter notebook
    dotfiles的管理
    macvim报出一些奇怪的错误: macvim只能从命令行启动
    CSS3学习笔记(三、选择器-续)
    CSS3学习笔记(二、选择器)
    CSS3学习笔记(一、CSS介绍、语法、引入方式)
    HTML学习笔记(四、body内常用标签)
  • 原文地址:https://www.cnblogs.com/geeker-xjl/p/8892293.html
Copyright © 2011-2022 走看看