matlab上级练习题,有答案
1. 以下两种说法对吗?
(1) MATLAB进行数值的表达精度与其指令窗中的数据显示精度相同。
(2) MATLAB指令窗中显示的数据有效位数不超过七位。
2. 历史指令窗所记录的内容与diary指令所产生的“日志”内容有什么不同? DIARY filename causes a copy of all subsequent command window input
and most of the resulting command window output to be appended to the named file. If no file is specified, the file 'diary' is used.
DIARY OFF suspends it.
DIARY ON turns it back on.
DIARY, by itself, toggles the diary state.
Use the functional form of DIARY, such as DIARY('file'),
when the file name is stored in a string.
3. 如何把用户自己的“工作目录”永久地设置在MATLAB的搜索路径上?“位于搜索路
径上的目录”与“当前目录”在MATLAB中的功用相同吗?
4. 如何向MATLAB工作空间输入一个含有100个左右元素的一维或二维数值数组?用直
接键入法?用数组编辑器?用M文件编辑器?
5. 运用数组算术运算符去掉下面程序里的for/end循环:
x=11:15
for k=1:length(x)
z(k)=x(k)^2+2.3*x(k)^0.5;
end
x=11:15 z1=x.^2+2.3*x.^0.5
6.不使用数组算术运算符,重写下面的程序代码:
x=[2 1 4]
z=1./(1+x.^2)
x=2;k=1;
while i<=4,
z2(k)=1/(1+i^2);
i=i+1;x=x+1;
end
7.某公司销售电脑打印机的价格方案如下:
()如果顾客只买一台打印机,则一台的基本价格为$150。
()如果顾客购买两台以上打印机,则第二台价格为$120。
()第三台以后,每台$110。
matlab上级练习题,有答案
写一段程序分别计算出购买1--10台打印机所需的钱数。打印机台数可以在程序开始处指定,或通过input命令读入。运行程序,计算出购买10台打印机的总价格。
写出程序,生成分别购买1--10台打印机所需价格的图表(使用fprintf命令输出图表,不允许手算)。
x=1:10;
if x<=1
y(x)=150*x;
elseif x<=2
y(x)=150+120*(x-1);
else y(x)=150+120+110*(x-2);
end
y(10)
plot(x,y(x),’r*--‘)
8. 编写一个函数M文件fun_es(x),计算如下函数 y 0.5 ex/3 x2sinx
function y=es(x)
y=0.5*exp(x/3)-x.^2.*sin(x)
其中参数可以为标量,也可以为向量。在MATLAB里键入如下命令检验此函数:
fun_es(3)
fun_es([1 2 3])
125 9.定义一个矩阵 m 312 413
m=[1 2 5;3 1 2;4 1 3];
如何用语句input将m读入MATLAB?在MATLAB上验证此过程是否正确。 在MATLAB上sum(m),max(m)和min(m)的结果分别是什么?
10. 写一段程序计算 S n n 1n 110
(a) 使用一个for/end循环,但不能使用数组运算符和sum。
matlab上级练习题,有答案
sum (a)
c 0 的解。规定此函数形式为 11. (a)写一个函数M文件以计算方程 ax bx
quad_rt(a,b,c),其中a,b和c可以为向量。
quad_rt(a,b,c)
x1=(-b+sqrt(b.^2-4*a.*c)./(2*a),
x2=(-b-sqrt(b.^2-4*a.*c)./(2*a),
(b)用a=3,b=1,c=1检验此函数。
(c)用 a=[3 1 2],b=[1 –4 9],c=[1 3 –5] 检验此函数。
12.编写一个名为fun_xb的M文件以计算下面级数的和:
2x2x3
n 1xf(x) x ( 1) 23n2
x和n的值由input给出。与手算的x=1,n=4时的结果相比,检验此函数。上述级数是log(1+x)的截断麦克劳林展开,当-1<x<1时,此级数收敛。利用该知识选定一些x值检验此函数。例如:可取x=-0.5,0.5,n=1,2,3,5,10,20,50,将结果与log(1+x)进行比较(当x接近-1或1时,收敛将变得越来越困难)。
13.写出下面MATLAB程序所描述的数学表达式。
(1) for j = 1 : n (2) for j = 1 : n
for i = 1 : m y=x(j)*A(:,j)+y
y ( i ) = A ( i , j )*x ( j ) + y( i ) end
end
end
14.写出下面MATLAB程序所描述的数学表达式。
(1)for i = 1 : m (2)
for j = 1 : n for j = 1 : m
A(i,j) =A(i,j)+ x(i )* y(j) A(:,j)=A(:,j)+y(
end end
end
15. 用一条plot命令,在同一幅图中绘制下面两个函数的图形:
matlab上级练习题,有答案
(x 1)(x 2)(x 4)(x 5),0 x 6(3 1)(3 2)(3 4)(3 5)
(x 2)(x 3)(x 4)(x 5)y ,0 x 6(1 2)(1 3)(1 4)(1 5)
y
hold off 2216. 绘制如下方程给出的椭圆:(x 2) 2(y x 1) 3,把y看做x的函数解方程。这样
做将得到两个方程,一个是椭圆的上半部分,另一个是椭圆的下半部分。绘制这两个关于x的方程,得到椭圆。
x=-4:0.01:4;
y1=-sqrt((3-(x-2).^2)/2)+x+1;
y2= sqrt((3-(x-2).^2)/2)+x+1;
plot(x,y1,’g-‘,x,y2,’r-‘)
17. 将两个设计参数x和y定为0<x<5和0<y<5。产品的成本为:
f x2 8x
y2 6y 0.1xy 50
[m,n]=find(f==min (min (f)));
x(m,n),y(m,n)
18. 用contour命令重做上题。
P98-1
编写程序Gauss-Siedel程序
function y=gs(A,b,x0)
D=diag(diag(A));
matlab上级练习题,有答案
U=-triu(A,1);
L=-tril(A,1);
G=(D-L)\U;
f=(D-L)\b;
y=G*x0+f;
n=1;
while norm(y-x0)>=10e-6
x0=y;
y= G*x0+f;
n=n+1;
end
y
n
A=[10,-1,0;-1,10,-2;0,-2,10];
b=[9;7;6];
gs(A,b,[0;0;0])
P98-2
设流入节点流量为正,流出节点流量为负,每个节点 …… 此处隐藏:1223字,全部文档内容请下载后查看。喜欢就下载吧 ……