最新武汉大学matlab期末课程作业
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
“MATLAB及其应用”课程作业
院系:
姓名:
学号:
联系方式:
第1章
1.请指出如下5个变量名中,哪些是合法的?
abcd-2 xyz_3 3chan a变量ABCDefgh
答:xyz_3,ABCDefgh是合法的。
2.在命令窗中,运行命令a=sqrt(2)。然后请回答以下问题:计算结果a吗?
该计算结果只是5近似吗?请在命令窗中,显示出具有最多位有
MATLAB数值结果显示的默认设置。
。该计算结果只是5近似。
3. 命令clear, clf, clc 各有什么用处?
答:clear 可以清除matlab 工作空间中保持的变量。clf 可以清除图形窗。clc 清除命令窗中显示内容。
4. 想要在MATLAB 中产生二维数组⎥⎥⎥⎦
⎤⎢⎢⎢⎣⎡=987654321S ,下面哪些命令能实现目的? S=[1,2,3;4,5,6;7,8;9]
S=[1 2 3;4 5 6;7 8 9]
S=[1,2,3;4,5,6;7,8,9] %整个命令在中文状态下输入
答:第二条S=[1 2 3;4 5 6;7 8 9]能实现目的。中文状态下逗号不是有效字符。
第2章
1.说出以下四条命令产生的结果各属于哪种数据类型,是“双精度”对象,还是“符号”
对象?
3/7+0.1, sym(3/7+0.1), vpa(sym(3/7+0.1),4), vpa(sym(3/7+0.1))
答:3/7+0.1结果是双精度。sym(3/7+0.1)结果是符号。vpa(sym(3/7+0.1),4)结果是符号。vpa(sym(3/7+0.1))结果是符号。
过程如图:
2.已知a1=sin(sym(pi/4)+exp(sym(0.7)+sym(pi/3)))产生精准符号数字,请回答:以下产生的各种符号数哪些是精准的?若不精准,误差又是多少?能说出产生误差的原因吗?
a2=sin(sym(pi/4)+exp(sym(0.7))*exp(sym(pi/3)))
a3=sin(sym('pi/4')+exp(sym('0.7'))*exp(sym('pi/3')))
a4=sin(sym('pi/4')+exp(sym('0.7+pi/3')))
a5=sin(sym(pi/4)+exp(sym(0.7+pi/3)))
a6=sin(sym(pi/4)+sym(exp(0.7+pi/3)))
a7=sin(sym(pi/4+exp(0.7+pi/3)))
a8=sym(sin(pi/4+exp(0.7+pi/3)))
(提示:可用vpa观察误差;注意数位的设置)。
答:matlab运行程序如下:
format long;
a1=sin(sym(pi/4)+exp(sym(0.7)+sym(pi/3)));
a2=sin(sym(pi/4)+exp(sym(0.7))*exp(sym(pi/3)));
a3=sin(sym('pi/4')+exp(sym('0.7'))*exp(sym('pi/3'))); a4=sin(sym('pi/4')+exp(sym('0.7+pi/3')));
a5=sin(sym(pi/4)+exp(sym(0.7+pi/3)));
a6=sin(sym(pi/4)+sym(exp(0.7+pi/3)));
a7=sin(sym(pi/4+exp(0.7+pi/3)));
a8=sym(sin(pi/4+exp(0.7+pi/3)));
b2=vpa(a1-a2,40)
b3=vpa(a1-a3,40)
b4=vpa(a1-a4,40)
b5=vpa(a1-a5,40)
b6=vpa(a1-a6,40)
b7=vpa(a1-a7,40)
b8=vpa(a1-a8,40)
观察可知,只有a2是精准的。这是由sym('Num')和sym(Num)的区别带来的。前者以字符串的形式传给符号运算内核,可以保留完整的精度;而后者经过浮点运算后再转换为符号类型,存在精度损失。
3.在不加专门指定的情况下,以下符号表达式中的哪一个变量被认为是独立自由变量。
sym('sin(w*t)') , sym('a*exp(-X)' ) , sym('z*exp(j*th)')
答:运行程序如下
clear
symvar(sym('sin(w*t)') ,1)
symvar(sym('a*exp(-X)' ) ,1)
symvar(sym('z*exp(j*th)') ,1)
可知分别为w,a,z。
第3章
1.请读者先运行以下命令
a=0;b=pi;
t1=a:pi/9:pi;
t2=linspace(a,b,10);
T=t1*t2';
F=find(T<0);
然后,请回答变量a、t1、T、F的维度、规模、长度分别是多少?t1完全等于t2吗?
为什么?
答:运行程序如下
clear
a=0;
b=pi;
t1=a:pi/9:pi;
t2=linspace(a,b,10);
T=t1*t2';
F=find(T<0);
a1=ndims(a),a2=ndims(t1),a3=ndims(T),a4=ndims(F)
b1=size(a),b2=size(t1),b3=size(T),b4=size(F)
c1=length(a),c2=length(t1),c3=length(T),c4=length(F)