MATLAB编程基础

一、数组:

    MATLAB中基本上都是使用数组来存储数据的,数组中的单个数据是可以被访问的,访问的方法是数组名后带一个括号,括号内是这个数据所对应的行标和列标。如果这个数组是一个行向量或列向量,则只需要一个下标。

    数组的下标都是从1开始的。例:A=[1 2 3 4],则A(2)表示的是数据2.

    数组运算与矩阵运算:

          数组/矩阵加法:A+B

          数组/矩阵减法:AB

          数组乘法:A.*B(A和B的元素逐个对应相乘,两数组之间必须有相同的形,或其中一个是标量)

          矩阵乘法:A*B(A的列数=B的行数)

          数组右除法:A./B(A和B的元素逐个对应相除,A(i,j)/B(i,j),两数组之间必须有相同的形,或其中一个是标量)

          数组左除法:A.\B(A和B的元素逐个对应相除,B(i,j)/A(i,j),两数组之间必须有相同的形,或其中一个是标量)

          矩阵右除法:A/B(矩阵除法等价于A*inv(B),inv(B)是B的逆矩阵)

          矩阵左除法:A\B(矩阵除法等价于B*inv(A),inv(A)是A的逆矩阵)

          数组指数运算:A.^B(A和B的元素逐个进行如下运算,A(i,j)^B(i,j)A(i,j)/B(i,j),两数组之间必须有相同的形,或其中一个是标量)

二、变量

    像C语言这样的语言中,变量类型和变量在使用之前必须强制声明,这种语言我们叫它强类型语言。相对的,像MATLAB这样的叫弱类型语言,通过简单的赋值形式就可以创建变量,变量的类型取决于创建时的类型。

    特殊变量:

                        Inf:表示无穷大,一般是除以0产生的;

                        NaN:表示没有这个数,一般由数学运算得到。例如0除以0;

                        clock:这个特殊变量包含了当前的年,月,日,时,分,秒,是一个6元素行向量

                        data:当前的日期,使用的字符形式,如30-Dec-2014

                        eps:代表计算机能辨别的两数之间的最小数(epsilon)

    初始化:

                        a、直接复制(=&&first:incr:last)

                        b、input方式输入

%this is a program about input  
x = input('enter a number:');  
string = ['the number u input is:',num2str(x)];  
disp(string);
                        c、从文件中读入

三、输出

1、disp函数

    此函数可联合nums2tr(将一个数转化为字符串)和int2str(将一个整数转化为字符串)来产生新的信息,显示在命令窗口中。

2、fprintf函数格式化输出数据

fprintf('the value of pi is %6.0f',pi) 
四、简单语句结构

1、if语句(求解二次函数)

%this is a program about equation solution  
a = input('please input a = ');  
b = input('please input b = ');  
c = input('please input c = ');  
if b^2-4*a*c>0  
    x1 = (-b + sqrt(b^2-4*a*c))/(2*a);  
    x2 = (-b - sqrt(b^2-4*a*c))/(2*a);  
    fprintf('the answer of this equation is :x1 = %6.2f,x2 = %6.2f\n',x1,x2);  
elseif b^2-4*a*c == 0  
    x = (-b)/(2*a);  
    fprintf('the answer of this equation is :x = %6.2f',x);  
else  
    real_part = (-b)/(2*a);  
    image_part = sqrt(abs(b^2-4*a*c))/(2*a);  
     fprintf('the answer of this equation is :x = %6.2f+%6.2fi\n',real_part,image_part);  
     fprintf('the answer of this equation is :x = %6.2f-%6.2fi\n',real_part,image_part);  
end 
2、try...catch

%this is a program about try-catch  
a=[1:10];  
try  
    b = input('please input the number u want to cheak:');  
   disp(['a(' int2str(b) ') = ' num2str(a(b))] );  
catch  
    disp( ['Illegal subscript: ' int2str(b)] );  
end 



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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值