广西民族大学Matlab实验3

1.	代码:

创建两个double型变量a=32、b=5,并计算a+b、a-b、a*b、a/b、a\b;创建两个int8型变量a、b,取同样数值,并计算a+b、a-b、a*b、a/b、a\b,对于计算结果与前次计算结果不同的情形请给出解释。
%% 第一小问
a=double(32);b=double(5);
A=a+b
B=a-b
C=a*b
D=a/b
E=a\b
%% 第二小问
a=int8(32);b=int8(5);
AA=a+b
BB=a-b
CC=a*b
DD=a/b
EE=a\b
 
对结果的解释:
第一小问a和b为双精度,第二小问为整型。
其中’a+b’和’a-b’的结果都想等,浮点型’a*b’为160,而int8整型’a*b’为127,是因为int8整型的最大值只能为127。双精度浮点型’a/b’的结果为6.4000,int8整型的结果取6.4000的整数,为6,是因为对运算的结果也要为int8整型。’a\b’表示a左除以b,即b除以a,双精度浮点型’a\b’为0.1563,对与int8整型取整数的话结果就为0。
2.	代码
2. 查看int16数据类型的取值范围(intmin,intmax);查看单精度数据类型的取值范围和精度(realmin,realmax,eps)。
%% 第一小问
intmin int16
intmax int16
%% 第二小问
realmin('single')
realmax('single')
eps('single')
运行结果:

 

3.	代码

求下列表达式的值,然后显示MATLAB工作空间的使用情况并保存全部变量: 
    (1) sin(60o)      (2) e3         (3) cos(3/4π) 
%% 第三题
clc,clear
A=sind(60)
B=exp(3)
C=cos(3/4*pi)
运行结果:
 
将鼠标移至工作区选中其中变量,点击右键,点击另存为…,之后可自行命名该工作区变量,保存位置也可修改,最后点击保存即可,如下图所示:
 



4.	代码:
%% 第四题
clc,clear
a=complex(3,-5);
b=complex(4,2);
c=complex(2,-8);
A=a*b
B=sin(c)
运行结果:
 

5.	运行结果:
 
运行结果为逻辑值;
第(5)为错误写法,要表示否定表达,(4)是正确表达。

6.(1)
结果为逻辑值0
原因:c>b为假,’&&’为并,只有两边为真结果才为真,所以该小问结果为假
(2)
结果为逻辑值0
原因:a为39,d为7,’==’为判断是否相等,显然不成立。
(3)
结果为逻辑值1
‘>’计算的优先级高于’|’,所以b>c为真,’|’为只要一边为真则结果为真,所以该小问结果为真。
(4)
结果为逻辑值1
‘~’表示逻辑非运算符,’~d’取d的逻辑非,为0,则在加一个’~~d’为0的逻辑非,为1。

7.代码:
x = [ 9 3 0 6 3];
y = mod((sqrt(length(((x+5).*[1 2 3 4 5]))*5)),3)
运行结果:
 
解释:
‘.*’为向量对应每个元素相乘,(x+5)为[14 8 5 11 8],经过点乘之后变成向量[14 16 15 44 40],’length’函数表示计算向量的长度,那么length(((x+5).*[1 2 3 4 5]))的结果就是以上的向量长度,为5,’sqrt’表示算术平方根,即5*5的算术平方根为5,’mod’表示取余,经过以上计算,化简为mod(5,3),即5除以3的余数,显然是2。

8.代码:
a = [3, 7, 2, 7, 9, 3, 4, 1, 6];
b = [7];
a(4) = [];
vec1 = a==b
vec2 = mod(a,2)==0
c = sum(vec1)
vec3 = vec1+vec2
d = vec3.*a
vec4 = find(a > 5)
e = a(vec4) + 5;
vec5 = find(a < 5);
f = vec5.^2;

结果:
 
c=1;
d=[0	7	2	0	0	4	0	6];
e=[12	14	11];
f=[1	9	25	36	49];
解释:
vec1:
a(4)=[]为把a向量的第四个数字删掉,之后a=[3	,7,2,9,3,4,1,6];’a==b’为判断a中的元素是否和b中的元素相等,相等则返回逻辑值1,不想等则返回0,经过计算vec1的结果为[0   1   0   0   0   0   0   ]
vec2:
‘mod’函数是取余数的意思,即对a向量的所有元素对2取余,再对每个余数和0进行判断,如果想等,返回逻辑值1,不想等返回逻辑值0,返回的结果为vec2=[ 0  0  1  0  0  1  0  1];
 vec3:
显然是vec1和vec2把逻辑值变成整型数值相加,结果为[0 1 1 0 0 1 0 1];
vec4:
‘find’函数为查找,即查找满足’a>5’的元素,满足条件则返回所在的位置,不满足则不返回,结果为[2 4 8];即第2、4和8个元素的数值为大于5.
vec5:
同理查找a中元素数值小于5的元素的位置。


评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值