• matlab中disp函数的使用


      disp函数直接将内容输出在Matlab命令窗口中,

       关键是看disp函数怎么把字符和数字在一起进行显示。

    matlab中disp()就是屏幕输出函数,类似于c语言中的printf()函数

    %%以下是一个通过给定两点显示直线方程的程序,

    %%该程序需要给出两个点的坐标,结果返回为y=kx+b的格式,且求得斜率

    function [k,a1,b,type]=straight_line(A,B) % 输入,A,B两点坐标
    V=B-A;
    a=inf;
    b=inf;
    type='undefined';
    if A==B
        'The two points are the same'
        return
    end
    if V(1)==0 && V(2)==0
        disp('Enter two distinct points next time')
        return
    end
     
    if V(1)==0
        type='vertical';
    elseif V(2)==0
        type='horizontal';
    else
        type='oblique';
        slope=atan2(V(2),V(1));
        s=inv([A(1) 1;B(1) 1])*[A(2) B(2)]';
        a=s(1);
        b=s(2);
    end
     
    switch type
        case 'vertical'
            disp('经过这两个点的直线方程为::');
            disp(['x = ',num2str(A(1))]);
        case 'horizontal'
            disp(' 经过这两个点的直线方程为:: ');
            disp(['y =',num2str(A(2))])  ;
        case 'oblique'
            disp(' 经过这两个点的直线方程为:') ;
            disp(['y = ',num2str(a) ,' *x +',num2str(b)]);
            disp('斜率为:')
            k=num2str(a);%将符号数值化
    end

    disp(X)函数只有一个输入,当你有多个字符串作为输入时就会报错。

    例如:

    disp('Alice is ' , num2str(12) , ' years old!' );

    就会报错--输入参数过多。

    但是将里边的内容用中括号一括就成了一个字符串,

    例如:

    str=['Alice is ' num2str(12) ' years old!'];

    disp(str);

    上边这句话也就等价于:

    disp=(['Alice is ' num2str(12) ' years old!']);

    这就是加中括号的原因,而不是因为num2str(),

    因为disp(num2str(12));也是正确的,因为里边就只有一个字符串。

  • 相关阅读:
    innodb引擎相关参数
    索引及执行计划
    多实例
    infomation_schema基本使用
    流程控制
    初识Modbus TCP/IP-------------C#编写Modbus TCP客户端程序(一)
    初识Modbus TCP/IP-------------C#编写Modbus TCP客户端程序(二)
    C#多线程学习(一) 多线程的相关概念
    获取系统时间的DOS命令
    UML类图(上):类、继承和实现
  • 原文地址:https://www.cnblogs.com/lihuidashen/p/3431778.html
Copyright © 2020-2023  润新知