当前位置:首页 > MATLAB复习题(答案仅供参考)1
7.现有下列脚本程序,请分析该“for”循环执行情况并写出该程序运行结果 for m=1:4
for n=1:4
H(m,n)=m^2+n^2 end end
可知循环16次
H =
2 5 10 17 5 8 13 20 10 13 18 25 17 20 25 32
8.简述M脚本文件和M函数文件的主要区别。
M脚本文件没有参数传递功能,但M函数文件有此功能。 M函数文件的格式有严格规定,它必须以“ function ”开头,其格式如下: Function 输出变量=函数名称(输入变量) 语句; end; 当函数输入变量为向量输入(多输入)时,输入形式为[x1,x2,x3...]的一元向量形式;输出同
理。
M函数文件的命名必须是其函数名,不可改变。 M脚本文件则为完成一固定功能的模块,其运行时产生的变量均为全局变量,区别于M函数的局部变量,并且没有参数传递。 四、综合题
1、创建一个函数名为ex3_3,的M函数文件,要求输入任意两个参数,能输出这两个参数的成积。并写出能调用该函数的正确命令。
function n=ex3_3(a,b) n=a*b end
z=ex3_3(18,20) n = 360 z = 360
2、在for循环中计算f(x)=3*x,当f(x)>31时程序终止运算。并输出各次运行结果。 x=0:30; for n=x f=3*n; if f>31 break end end
f=3*(0:n) 结果: f =
0 3 6 9 12 15 18 21 24 27 30 33
3、用MATLAB软件编写一个程序。求方程组
(2*x1+3*x2-x3=6; x1-2*x2+4*x3=12; 5*x1-3*x2+x3=8)的解。并输出结果。 解:A=[2,3,-1;1,-2,4;5,-3,1];
B=[6;12;8]; X=A\\B 结果 X =
2.0000 1.8000 3.4000
4、编写程序分别对符号表达式“f=3*x^2+5*y^3-4*x+6*y”的x和y求一阶微分。并写出结果。 解:smys x y
f=3*x^2+5*y^3-4*x+6*y;
dfdx=diff(f)% 对x求一阶微分 dfdx =
6*x-4 %结果
dfdy=diff(f,y)% 对y求一阶微分 dfdy =
15*y^2+6 %结果 阅读下述MATLAB脚本程序
A=[3 5 7 9;0 2 4 1;6 4 4 8]; B=ones(3,3); b=A([1 2],2:3); B(4,4)=5;
A([1,2],:)=[]; C=[A;B(:,1:3)'];
D=reshape(C,2,8); 写出b、A、B、C、D的结果. b =
5 7 2 4 A =
6 4 4 8 B =
1 1 1 0 1 1 1 0 1 1 1 0 0 0 0 5 C =
6 4 4 8
1 1 1 0 1 1 1 0 1 1 1 0 D =
6 1 4 1 4 1 8 0
1 1 1 1 1 1 0 0
4235、已知多项式和a(x)?2x?3x?5b(x)?x?3x?1,编写脚本程序计算
1) 多项式a(x)+b(x) 2) a(x)*b(x)
2) 多项式a(x)/b(x)的部分分式展开。 解:
a=[0,3,0,3,5]; b=[1,0,3,0,1]; c1=a+b;
c2=conv(a,b);
[r,p,k]=residue(a,b)
6、编写MATLAB程序,以0.2为步长绘制正弦曲线sin??t?和余弦曲线cos??t?在[0,2?]之间的图形,分别位于图形窗口的二个子图中,正弦曲线以红色虚线绘制,并且用星号标注每个节点,余弦曲线以红色实线绘制,用圆标注每个节点。
解:
x1=0:0.2:pi; y1=sin(pi*x1); y2=cos(pi*x1);
subplot(1,2,1),plot(x1,y1,’h:r’) subplot(1,2,2),plot(x1,y2,’r-o’)
7、求解在x=8时多项式(x-1)(x-2) (x-3)(x-4)的值,并将程序跟结果写到答卷上。 解: x=8 s=1
for n=1:4
s=s*(x-n) end
8、编写M脚本文件sy2,使用for循环计算f=5^x,当f(x)>500就终止程序,在命令窗口中调用函数文件,求终止程序时f的值和n运行的值分别为多少?并将程序跟结果写到答卷上。 解:
function[y]=f(x) for x=1:00 f=5^x if >500 f=z n=x break end end
共分享92篇相关文档