MATLAB复习题 下载本文

h(i,j)=1/(i+j-1); end end

13、求解多项式x3-7x2+2x+40的根。

>> r=[1 -7 2 40]; >> p=roots(r);

14、在区间[0:2π]均匀的取50个点,构成向量π t = linspace(0, 2*pi, 50);

15、编写程序实现f(n)=f(n-1)+f(n-2)(f(1)=1和f(2)=2)函数。

function f=fab(n) if (n==1) f = 1; elseif (n==2) f =2; else

f = fab(n-1) + fab(n-2);

end

1.求四阶魔方矩阵中绝对值大于7、小于10的元素及元素的数目。 答案: b=magic(4);

y=absB.>7&absB.<10; c=length(b(y))

2.设f(X)=x^5-4x^4+3x^2-2x+6

(1)在x=[-2,8]之间取100个点,画出曲线,看它有几个过零点。(提示:用polyval函数)

(2)用roots函数求此多项式的根。 解:(1)

x=linspace(2,8,100); y=polyval([1 0 -4 3 -26],x) plot(x,y,'b',x,0,'y') (2) t=[1 0 -4 3 -2 6]

p=roots(t) 3.求阶乘的累加和 sum=0; temp=1; for n=1:10; temp=temp*n; sum=sum+temp; end sum

4.数曲线,要求写出程序代码 (1)在区间[0:2π]均匀的取50个点,构成向量π (2)在同一窗口绘制曲线y1=sin(2*t-0.3); y2=3cos(t+0.5);要求y1曲线为红色点线;y2为蓝色虚线 解:

(1)t = linspace(0, 2*pi, 50);

(2)y1=sin(2*t-0.3);y2=3*cos(t+0.5);plot(t,y1,'.r' ,t,y2,':b') 5. 编制一个程序,程序的功能将接受用户输入的任何字符串,并将该字符串按升序排列并打印出来。

s=input('请输入字符串:','s') s1=abs(s); s2=sort(s1,2); s3=char(s2);

w=['字符串',s,'按升序排列如下:',s3]; disp(w)

6.建立M文件,在[0 2π]范围内绘制二维曲线图y=sin(x)*cos(5x) 解:

function [ y ] = H( a,b ) x=linspace(a,b); y=sin(x).*cos(5*x);

plot(x,y); end

7. 求解多项式f(x)=x^3-7x^2+2x+40的根。 解:

r=[1 -7 2 40]; p=roots(r); p = 5.0000 4.0000 -2.0000

8.编写程序,求1000至9999之间的回文数.回文数是指正读与反读都一样的数,如1221. 程序:

for i=1000:1000:9999 for j=0:9

n=i+j*100+j*10=i/1000 end end

9.编制一个程序,程序的功能将接受用户输入的任何字符串,要求在查找字符时,不区分大小写。 答案:

s=input('请输入字符串:','s'); t=input('请输入要查找的字符:','s'); s1=lower(s); t1=lower(t); num=strfind(s1,t1); n=length(num);

w=['不区分大小写','字符',t,'在字符串',s,'中出现了',num2str(n),'次'];

disp(w)

10.生成一个7*7的pascal矩阵A,取A的第1,3,5行和5,6,7列位置上的元素构成矩阵B,删除矩阵A的第1,2,3,4行和4,5,6,7列构成矩阵C,求D=B-1*C 解:

A = pascal(7) %生成7*7 pascal矩阵 B = A([1,3,5],[5,6,7]) %C = A(5:7,1:3) %D = B-1*C A =

1 1 1 1 1 1 1 1 2 3 4 5 6 7 1 3 6 10 15 21 28 1 4 10 20 35 56 84 1 5 15 35 70 126 210 1 6 21 56 126 252 462 1 7 28 84 210 462 924 B = 1 1 1 15 21 28 70 126 210 C = 1 5 15 1 6 21 1 7 28 D = 0 -4 -14

构成矩阵B 构成矩阵C 14 15 7 69 119 182

11.有一个4 ×5 矩阵,编程求出其最大值及其所处的位置 A=[4,4,54,65,6;54,2,4,6,6;65,8,98,9,2;43,2435,6,7,657]; %输入矩阵

x=max(A) %求每列最大值 m=max(x) %求最大值

find(A==m) %找位置

12.产生8X6阶的正太分布随机数据R1,求其各列的平均值和均方差。并求该矩阵全体数的平均值和均方差。 (mean var)

U=reshape(a,1,48); P1=mean(u) P2=var(u)

13.建立一个m文件,等待键盘输入,输入密码123,密码正确,显示输入密码正确,程序结束;否则提示,重新输入。 function f=check

password=input(‘Please input the password:\\n’); if(password==123)

Disp(‘输入密码正确’) else

Check; end

14.求下列联立方程的解 3x+4y-7z-12w =4 5x-7y+4z+2w =-3 x+8z–5w =9

-6x+5y -2z+10w =-8