take hold of :掌握
integrated development environment:集成开发环境
变量(variable):保存信息的一个位置
每个变量中都有自己的信息(value)–矩阵、数字、字符串
默认情况下,数字存储在名未double的变量类中,双精度。
字符串–char
>> a=4;
>> fname=’rober’;
>> temperature=101.2;
>> isdone=true;
>> who
您的变量为:
a isdone
fname temperature
>> whos
Name Size
Bytes Class
Attributesa 1×1 8 double
fname 1×5 10 char
isdone 1×1 1 logical
temperature 1×1 8 double
assignment statement:赋值语句
右侧可以是表达式,即组合数字、算数运算符、或函数的集合
<variable name>=<expression>
首先计算表达式的值,然后再存储到等式的左边
>> a=4*7+2;
>> r=a+b;
函数或变量 ‘b’ 无法识别。>> b=sin(3.28);
>> r=a+b;
等号用于将结果存储在特定的变量中,虽然a=4看起来是一个数学等式,但此时是一个赋值语句
等号左边需要是为其赋值的变量名
>> r=a=4;
r=a=4;
↑
错误: ‘=’ 运算符的使用不正确。要为变量赋值,请使用 ‘=’。要比较值是否相
等,请使用 ‘==’。是不是想输入:
>> a=4; r=a;
>> a+1=press+3;
a+1=press+3;
↑
错误: ‘=’ 运算符的使用不正确。要为变量赋值,请使用 ‘=’。要比较值是否相
等,请使用 ‘==’。>> 4=a;
4=a;
↑
错误: ‘=’ 运算符的使用不正确。要为变量赋值,请使用 ‘=’。要比较值是否相
等,请使用 ‘==’。>> ‘onely the lonely’=’how i feel’;
‘onely the lonely’=’how i feel’;
↑
错误: ‘=’ 运算符的使用不正确。要为变量赋值,请使用 ‘=’。要比较值是否相
等,请使用 ‘==’。
clear a v g | 清除变量a v g |
clear | 清除工作区中的所有变量 |
who | 罗列目前已定义的变量 |
whos | 显示已定义变量的详细列表 |
save | 将当前的工作空间保存到名为matlab.mat的文件中 |
save foobar | 将当前的工作空间保存到名为foobar.mat的文件中 |
load | 将保存在matlab.mat中的变量加载到当前工作空间中 |
load foobar | 将保存在foobar.mat中的变量加载到当前工作空间中 |
>> a=6.0221546*10^23
a =
6.0222e+23
>> b=-6.02355488*10^(-19)
b =
-6.0236e-19
rand | 产生一个值介于0-1的随机数 |
rand(m) | 产生m*m的随机数组 |
ran(m,n) | 产生m*n的随机数组 |
>> rand
ans =
0.8147
>> rand(2)
ans =
0.9058 0.9134
0.1270 0.6324>> rand(2,3)
ans =
0.0975 0.5469 0.9649
0.2785 0.9575 0.1576
用disp():打印某一字符变量的内容
>> firstname=’alfo’;
>> lastname=’brdoya’;
>> ideal=’buy low’;
>> disp(firstname)
alfo
字符变量可以通过中括号将它们放在一起:
<newstring>=
[<str1>,<str2>,<str3>,….]
>> name=[firstname,lastname];
>> disp(name)
alfobrdoya
>> disp(firstname,”,lastname)
错误使用 disp
输入参数太多。>> disp[firstname,”,lastname]
disp[firstname,”,lastname]
↑
错误: 表达式无效。调用函数或对变量进行索引时,请使用圆括号。否则,请检查不
匹配的分隔符。>> name=[firstname,”,lastname];
>> disp(name)
alfobrdoya
>> name=[firstname,
‘ ‘
,lastname];
disp(name)
alfo brdoya
字符量和数字量是不一样的。
num2str(x) | 将x这一个数字量转换为一个字符量 |
str2num(s) | 将字符量转换为数字量 |
str2double(s) | 将字符量转换为数字量 |
length(s) | 返回字符串s中的字符数 |
lower(s) | 返回所有小写的字符串s(将s转化为小写) |
upper(s) | 返回所有大写的字符串s(将s转化为大写) |
sName(4) | 返回字符串s的第四个字符 |
sName(4:6) | 返回字符串s中的第4到第6个字符 |
>> a=2;
>> b=num2str(a)b =
‘2’
>> b=’2′;
>> c=str2num(b)c =
2
>> s=strhng
函数或变量 ‘strhng’ 无法识别。>> s=’strhng’;
>> b=length(s)b =
6
>> s=’HTuioh’;
>> b=lower(s)b =
‘htuioh’
>> c=upper(s)
c =
‘HTUIOH’
>> vinit=412.43;
>> disp(vinit)
412.4300>>
disp([‘initial velocity = ‘,num2str(vinit),’cm/s’])
initial velocity = 412.43cm/s
>> disp([‘initial velocity = ‘,vinit,’cm/s’])
initial velocity = Ɯcm/s
获取用户信息:input
>> nyears=input(‘enter the number: ‘)
enter the number: 5nyears =
5
第二个参数s,告诉函数将用户输入的值解释为字符串形式。
>> firstname=input(‘enter your first name: ‘,
‘s’
)
enter your first name: 5firstname =
‘5’
>> firstname=input(‘enter your first name: ‘,’s’)
enter your first name: yinfirstname =
‘yin’
randi(a,b,n):随机产生一个数组,其值在a到b之间。
>> randi(2,5,5)
ans =
2 1 1 2 1
2 2 2 1 1
1 2 2 2 1
2 2 2 1 1
1 2 2 2 2
函数rand和randi实际上是使用伪随机数生成器。真正的随机数不能由计算机程序产生,而是需要一个随机数物理过程。改变随机种子。