MATLAB期末复习资料
- 格式:doc
- 大小:313.00 KB
- 文档页数:9
百度文库 - 让每个人平等地提升自我
1 1.创建 double 的变量,并进行计算
(1)a=87,b=190,计算 a+b、a-b、a*b
(2)创建 uint8 类型的变量,数值与(1)中相同,进行相同的计算
答案如下:
(1)a=87;b=190;a+b;a-b;a*b
(2) c=uint8(87);d=uint8(190);c+d;c-d;c*d
2.计算
(1)sin60 (2)3e (3)3cos4
答案如下:
(1) sind(60) (2) exp(3) (3) cos(3*pi/4)
3.设2u,3v,计算
(1)4loguvv (2)22uevvu (3)3uvuv
答案如下:
(1) u=2,v=3;ai=4*((u*v)/log(v)) (2) u=2,v=3;a2=(exp(u)+v)^2/(v^2-u)
(3) u=2,v=3;a3=sqrt(u-3*v)/(u*v)
4.计算如下表达式
(1)3542ii (2)sin28i
答案如下:(1) (3-5*i)*(4+2*i) (2) sin(2-8*i)
5.判断下面语句的运算结果
(1)4 < 20 (2)4 <= 20 (3)4 == 20
(4)4 ~= 20 (5)’b’<’B’
答案如下:(1) 4 < 20 (2) 4 <= 20 (3)4 == 20 (4) 4 ~= 20 (5)'b'<'B'
6.设39a,58b,3c,7d,判断下面表达式的值
(1)ab 2)ac (3)&&abbc (4)ad (5)|abc (6)~~d
答案如下:(1) a=39;b=58; c=3;d=7;a>b(2) ab&&b>c (4) a==d
(5) a|b>c
(6)~~d
1. 生成一个33随机矩阵,将其对角形元素的值加1
参考答案:a=rand(3);a=a+eye(3)
2. 生成一个元素值在 1 和 10 之间的33随机矩阵,将其重新排序,使得
(1)每列按照降序排列 (2)每行按照降序排列 “ascend”和“descend”,分别表示升序和降序,默认为升序
参考答案:(1)b=round(rand(3)*10) sort(b,'descend');
(2) sort(b,2,'descend') 百度文库 - 让每个人平等地提升自我
2 3. 令3a,2132X,4567Y,进行幂运算,计算:
(1)Xa (2)aX (3)YX
参考答案:(1)a=3; x=[2,1;3,2]; y=[4,5;6,7]; a.^x (2)x.^a (3)x.^y
4. 生成33随机矩阵,判断其元素是否大于
参考答案:a=rand(3); a>
5. 有3a,4375B,8976C,47128D,进行如下操作
(1)~(aC & B
参考答案:a=3;b=[4,3;7,5];c=[8,9;7,6];d=[4,7;12,8];
(1)~(ac&b
1. 计算下列积分
(1)1351xxxdx (2)101sincosxxdx (3)622xedx
(4)10414xdxx (5)1010211sin4xyydxdyx
答案如下:
(1)f=@(x)x+x.^3+x.^5 q=quad(f,-1,1)
(2)f=@(x)sin(x)+cos(x) q=quad(f,1,10)
(3) f=@(x)exp(x/2) q=quad(f,2,6)
(4) f=@(x)x./((x.^4)+4) q=quad(f,1,10)
(5) f=@(x,y)sin(y)*(x+y)./(x.^2+4) q=dblquad(f,1,10,1,10)
2. 求下列函数的解,并绘制图形
(1)5xyex,初始点为8x
答案如下:f=@(x)exp(x)-x.^5 x=fzero(f,8) limits=[0 10 1 5]
fplot(f,limits) %绘图x范围为0到10 y范围为1到5
数学函数图象的绘制 fplot(fun,limits),y = f(x);参数 limits用于定绘制图象的范围。limits 是一个向量,用于指定 x 轴的范围,格式为[xmin xmax]。limits 也可以同时指定 y
轴的范围,格式为 [xmin xmax ymin ymax]。fun 可以为 MATLAB 函数的 M 文件名,可以是包含变量 x 的字符串,该字符串可以传递给函数 eval,还可以是函数句柄。
MATLAB使用函数 fzero() 来求一元函数的零点。寻找一元函数零点时,可以指定一个初始点,或者指定一个区间。当指定一个初始点时,此函数在初始点附近寻找一个使函数值变号的区间,如果没有找到这样的区间,则函数返回 NaN。该函数的调用格式为:
x = fzero(fun,x0),x = fzero(fun,[x1,x2]):寻找 x0 附近或者区间 [x1,x2] 内 fun 的零点,返回该点的 x 坐标;
inv(A) 来实现矩阵逆的求解。rank(A)可得到矩阵A的秩。 矩阵的行列式用函数 det 求解。调用格式为 det(A)。在 MATLAB 中多项式用一个行向量表示,向量中的元素为该多项式的系数,按照降序排列。如多项式 可以表示为向量 3219743xxx百度文库 - 让每个人平等地提升自我
3 p=[9 7 4 3]。Roots用于多项式求根,如roots(p)。MATLAB 中直接创建函数,如语句:
fh = @(x)1./(.^2 + + 1./(.^2 + -6。 q = quad(fun,a,b),采用递归自适应方法计算函数 fun 在区间【a,b】上的积分。q = dblquad(fun,xmin,xmax,ymin,ymax),函数的参数分别为函数句柄、两个自变量的积分限,返回积分结果。
c = complex(a,b),返回结果 c 为复数,其实部为 a,虚部为 b。
1. 编制一个脚本,查找给定字符串中指定字符出现的次数和位置
% find the times and places of the specified letter in the string
letter = 'a'; % The specified letter to be searched for
string = 'China'; % The specified tring to be searched
places = findstr(S,A); % The places of the letter
ntimes = length(places)
2.编写一个脚本,判断输入字符串中每个单词的首字母是否为大写,若不是则将其修改为大写,其他字母为小写
str = 'this is the string to be converted';
nlength = length(str);
for k=1:nlength
if (k==1 || isspace(str(k-1))) && (str(k)<='z' && str(k)>='a')
str(k) = char(double(str(k)) - 32);
end
end
disp(str);
3. 创建一个结构体,用于统计学生的情况,包括学生的姓名、学号、各科成绩等。然后使用该结构体对一个班级的学生成绩进行管理,如计算总分、平均分、排列名次等。
structtest=struct('name',{},'number',{},'scores',{})
1.创建符号表达式sinfxxx
答案如下:
f=sym('sin(x)+x')
2.计算习题 1 中表达式在0x、/4x、2x处的值
答案如下:subs(0) subs(pi/4) subs(2*pi)
3.设x为符号变量,421fxxx,32458gxxxx,试进行如下运算(1)fxgx(2)fxgx(3)对fx进行因式分解
(4)求g以fx为自变量的复合函数
答案如下:f=sym('x^4+x^2+1');g=sym('x^3+4*x^2+5*x+8')
(1)f+g (2)f*g (3)factor(f) (4)compose(g,f)
4.合并同类项
(1)22325325xxxx
答案如下:S=sym('3*x-2*x^2+5+3*x^2-2*x-5') collect(S) 百度文库 - 让每个人平等地提升自我
4 5.因式分解(1)将 7798666 进行因数分解,分解为素数乘积的形式
(2)8-2m+512 (3)23223a(x-y)-4b(y-x)
答案如下:(1)factor(7798666)(2)factor(sym('-2*m^8+512'))
(3)factor(sym('3*a^2*(x-y)^3 - 4*b^2*(y-x)^2'))
6.绘制下列函数的图像
(1)2sinfxxx,0,2 (2)3221fxxx,2,2
答案如下:(1) f = sym('sin(x) + x^2');ezplot(f,[0,2*pi])
(2)f = sym('x^3 + 2*x^2 + 1');ezplot(f,[-2 2])
7.计算下列各式
(1)0tansinlim1cos2xxxx
(2)322sinyxxx,求y
(3)2lnfxy,求/fx,/fy,2/fxy
(4)cos(43)xdx,60cos(43)xdx
答案如下:
(1) limit(sym('(tan(x) - sin(x))/(1-cos(2*x))'))
(2) y = sym('x^3 - 2*x^2 + sin(x)');diff(y)
(3)syms x y f = log(x+y^2); fx = diff(f,x) fy = diff(f,y)
f2xy = diff(fx,y)
(4)syms x f = cos(4*x+3); int(f) int(f,0,pi/6)
8.计算下列各式(1)13nnn(2)sinx在 0 附近的Taylor 展开
答案如下:(1)symsum(sym('(3/n)^n'),1,inf) (2) taylor(sym('sin(x)'))
9.求解线性方程组231321xyxy
答案如下:
[x,y] = solve(sym('2*x+3*y=1'),sym('3*x+2*y=-1'))