Matlab学习(3)分享

Matlab语句

目录

一、变量类型和转化

1.1 数值类型

1.2 字符串类型

1.3 字符串和数值的转化

二、输入输出

2.1输入语句

2.2输出语句

三、运算符和语句

3.1 关系运算符

3.2 逻辑运算符

3.3 if…else控制语句

3.4 for循环

3.5 while循环

四、关键字

4.1 continue

4.2 break

4.3 return


一、变量类型和转化

1.1 数值类型

整数类型

整数类型有8种、上面的数字为其内存大小,如:int8,整数所占内存大小为8个字节。除了int64 和 uint64不能进行数值运算之外都可以。

类型转换

    在没有说明的情况下,系统默认的数据类型是双精度浮点型。对应的整数转换函数为对应的整数类型名 如:int8

    注意:matlab数值转换中默认将数值转换为最接近的整数值。如果小数部分为0.5,则转换后的结果为与该浮点数最接近的两个整数中绝对值较大的一个。

>> asd=3.3

asd =							%默认是双精度浮点类型

    3.3000

>> int8(asd)

ans =

  int8

   3								%转换后的结果,默认将数值3.3转换为最接近的整数值3

>> asf=3.8

asf =

    3.8000

>> int8(asf)

ans =

  int8

   4								%转换后的结果,默认将数值3.8转换为最接近的整数值4

>> asd

asd =									%在没有原来的转换并没有改变变量的类型,只是打印出了对应的数转换后的值

    3.3000

>> asd

asd =

    3.3000

>> asf

asf =

    3.8000

>> asf=int8(asf)					%将变量的类型转换为int8

asf =

  int8

   4

>> asd=int8(asd)

asd =

  int8

   3


    

    
    >> qwe=3.5					%对小数部分是0.5的数进行转换

qwe =

    3.5000

>> qwr=-3.5

qwr =

   -3.5000

>> int8(qwe)

ans =

  int8

   4

>> int8(qwr)

ans =

  int8

   -4

特定的取整转换函数:

浮点数类型

 双精度浮点型与其他类型参与运算的返回类型:

  1. 单精度浮点型不可以与整数型进行算数运算

  2. 浮点类型数值是离散的不是连续的,位于两个浮点类型之间的间隙的数值必须由最近的浮点数来表示

    eps(x) 间隙距离获得函数:获得一个数值和最接近该数值的浮点数的间隙。

>> eps(5)					% 5与离5最近的浮点数的距离

ans =

   8.8818e-16

复数

  1. 复数的表示

    可以使用 i或者j直接当作复数的虚部来表示,也可以用么complex函数来创建。

>> 3+4j

ans =

   3.0000 + 4.0000i

>> complex(4,5)

ans =

   4.0000 + 5.0000i

相关函数

 无穷量和非数值量

  1. 无穷量

    正无穷量 Inf、负无穷量-Inf。一般由运算溢出超出了双精度浮点数数值范围的结果。

  2. 非数值量

    NaN表示非数的实部,InF为非数的虚部。一般由0/0和InF/InF类型的非正常运算而产生。

以上数值类型来自
原文链接:https://blog.csdn.net/qq_45988416/article/details/112751835

1.2 字符串类型

>> %字符串不支持乘法运算和减法
%string类型:用单引号或者双引号括起来
%字符串和字符串矩阵
%可以进行加法运算(字符串的拼接)
s1 = "hello"
s2 = 'wlrld'
a = [s1 s2]
b = [s1; s2]
c = s1+s2
d = s1+" "+s2

s1 = 

    "hello"


s2 =

    'wlrld'


a = 

  1×2 string 数组

    "hello"    "wlrld"


b = 

  2×1 string 数组

    "hello"
    "wlrld"


c = 

    "hellowlrld"


d = 

    "hello wlrld"

1.3 字符串和数值的转化

>> %str2double()、str2num():字符串转数字
a1 = str2double("5") + 4
%num2str():数值转字符串
a2 = num2str(1/3)
a3 = num2str(1/3,2)%2为有效数字的位数

a1 =

     9


a2 =

    '0.33333'


a3 =

    '0.33'

二、输入输出

2.1输入语句

>> v = input("请输入一个值:");%输入数值或者矩阵,不支持字符串
s1 = input("请输入名字:","s");%输入字符串
s2 = input("请输入名字:",'s');%输入字符串
请输入一个值:5
请输入名字:manet
请输入名字:boy

2.2输出语句

>> %disp输出多个字段,需要将其转换成字符串矩阵输出
>> disp(v);
     5

>> disp("OK");
OK
>> disp(["ARE","OK"]);%[]括起来相当于一个矩阵
    "ARE"    "OK"

>> disp(["HIP",5]);%自动把5转化成字符串
    "HIP"    "5"

>> disp(["1/2=",1/3]);
    "1/2="    "0.33333"

>> disp(["1/2=",num2str(1/3,2)]);
    "1/2="    "0.33"

>> %num2str(1/3,precision(精度))

>> disp(["1/3=" + num2str(1/3,2)]);
1/3=0.33
 

三、运算符和语句

3.1 关系运算符

%">"
%">="
%"<"
%"<="
%"=="
%非零值是真,假为0

3.2 逻辑运算符

% 与 &(两边条件都为真则真为1)
% 或 |(两边条件有一个是真,就返回1,条件否为false,返回0)
% 非 ~(取反)

3.3 if…else控制语句

>> %if 条件1
%    语句1
%elseif(连写不加空格) 条件2
%    语句2
%else
%    语句3
%end

if(1<3)
    disp("ture");
end
ture
>> %判断质数和合数
%isprime确定哪些数是质数,是质数为真

v = input("请输入一个值:")

if(v == 1)
    disp("1既不是质数也不是合数")
elseif(isprime(v))
    disp("输入是质数")
else
    disp("输入是合数")
end
请输入一个值:3

v =

     3

输入是质数
>> 

3.4 for循环

>> %for index = valuse
%    语句
%end
for index = [1 2 3]
    disp(index)
end
     1

     2

     3


>> %求1+2+3+4+……+100

sum = 0;
for i = 1:100
    sum = sum + i;
end


>> %二重for循环
for i=[1 2 3]
    for j=[1 2]
        disp([i j])
    end
end
     1     1

     1     2

     2     1

     2     2

     3     1

     3     2

>> 

3.5 while循环

>> %while  表达式(为真)
%    语句
%end

n = 1
while (n<5)
    disp(n);
    n = n +1;
end

n =

     1

     1

     2

     3

     4
>> 

四、关键字

>> %一个循环
for i = 1:2
    for j = 1:3
        disp(["i = "+num2str(i) + " , j = "+num2str(j)])
    end
end
i = 1 , j = 1
i = 1 , j = 2
i = 1 , j = 3
i = 2 , j = 1
i = 2 , j = 2
i = 2 , j = 3
>> 

4.1 continue


>> for i = 1:2
    for j = 1:3
        if(j == 2)
            continue;%退出当前循环(continue后面的语句不再执行)
        end
        disp(["i = "+i + " , j = "+j])
    end
end
i = 1 , j = 1
i = 1 , j = 3
i = 2 , j = 1
i = 2 , j = 3
>> 

4.2 break

>> for i = 1:2
    for j = 1:3
        if(j == 2)
            break;%退出for(整层(一层))循环
        end
        disp(["i = "+i + " , j = "+j])
    end
end
i = 1 , j = 1
i = 2 , j = 1
>> 

4.3 return

>> for i = 1:2
    for j = 1:3
        if(j == 2)
            return;%退出多层循环
        end
        disp(["i = "+i + " , j = "+j])
    end
end
i = 1 , j = 1

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Marioo_JJ

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值