matlab总练习题(完整版)
MATLAB40道题与答案修正版
操作方法:首先点击File —New —M-File ,输入相应代码,然后点击运行按钮即可。
P1.已知两序列[]0.8{[][5]}nx n u n u n =--,[]{1,1,1,1,1}h n =计算两序列的卷积并绘制其波形。
%function a1 for i=1:5x(i)=0.8^(i-1); endh=[1 1 1 1 1]; y=conv(x,h) m=0:8;stem(m,y,'filled')P2。
已知复指数序列(1.52)[] 1.2j nx n e +=,绘制20点该序列的实部和虚部。
n=0:19;x=1.2*exp((1.5+j*2)*n); subplot(211); stem(n,real(x)); ylabel('real part'); xlabel('n'); legend('x[n]'); subplot(212); stem(n,imag(x)); ylabel('imag part'); xlabel('n'); legend('x[n]');P3.编写长度为5的中值滤波器程序。
原始未受干扰的序列为:s[n]=3[n(0.5) ]n ,加性噪声信号d[n]为随机序列,幅度0.4,分别绘制长度为40的受干扰序列,以及中值滤波器的输出。
% Program 2_5% Illustration of Median Filtering N = 5; R = 40;a = 0.8*rand(1,R)-0.4;b = round(a); % Generate impulse noise m = 0:R-1;s =3*m.*(0.5.^m); % Generate signalx = s + b; % Impulse noise corrupted signal y = medfilt1(x,N); % Median filtering subplot(2,1,1) stem(m,x);xlabel('n');ylabel('Amplitude');title('Impulse Noise Corrupted Signal'); subplot(2,1,2) stem(m,y);xlabel('n');ylabel('Amplitude'); title('Output of Median Filter'); P4. 已知序列x1[n]={2.2,3,1.5,4.2,1.8}, x2[n]= {0.8,1,1.6,0.8},x[n]=x1[n]∗x2[n] (卷积),分别绘制序列x1[n] ,x2[n]和x [n]的波形。
matlab试题及答案
matlab试题及答案# MATLAB试题及答案一、选择题1. MATLAB的基本数据单位是:A. 矩阵B. 向量C. 标量D. 数组答案:A2. 下列哪个命令可以用来绘制函数图形?A. `plot`B. `graph`C. `draw`D. `chart`答案:A3. MATLAB中,以下哪个是正确的矩阵转置操作?A. `transpose(A)`B. `A'`C. `A^T`D. `flip(A)`答案:B二、简答题1. 简述MATLAB中矩阵的基本操作。
答案:在MATLAB中,矩阵是最基本的数据结构,可以进行加、减、乘、除等基本运算。
矩阵的创建可以使用方括号`[]`,例如`A = [1 2;3 4]`。
矩阵的转置使用单引号`'`,例如`A'`。
矩阵的求逆使用`inv`函数,例如`inv(A)`。
2. MATLAB中如何实现循环结构?答案:MATLAB中实现循环结构主要有两种方式:`for`循环和`while`循环。
`for`循环用于已知迭代次数的情况,例如:```matlabfor i = 1:5disp(i);end````while`循环用于迭代次数未知的情况,例如:```matlabi = 1;while i <= 5disp(i);i = i + 1;end```三、计算题1. 给定矩阵A和B,请计算它们的乘积C,并求C的行列式。
A = [1 2; 3 4]B = [5 6; 7 8]答案:首先计算矩阵乘积C:```matlabC = A * B;```然后计算C的行列式:```matlabdetC = det(C);```结果为:```matlabC = [19 22; 43 50]detC = -16```2. 编写一个MATLAB函数,计算并返回一个向量的范数。
答案:```matlabfunction norm_value = vector_norm(v)norm_value = norm(v);end```四、编程题1. 编写一个MATLAB脚本,实现以下功能:- 随机生成一个3x3的矩阵。
matlab20道试题及解答
试题1.“数学黑洞”:任意一个4位自然数,将组成该数的各位数字重新排列,形成一个最大数和一个最小数,之后两数相减,其差仍为一个自然数。
重复进行上述运算,最终会出现一个神秘的数,请编程输出这个神秘的数。
clear;a=input('请输入一个四位正整数:');str_a=num2str(a); %将a转化为一个字符串b_min=str2double(sort(str_a)); %形成最小数b_max=str2double(sort(str_a,'descend')); %形成最大数b=b_max-b_min; %求最大数与最小数之差while (b~=a)a=b;str_a=num2str(a); %将a转化为一个字符串b_min=str2double(sort(str_a)); %形成最小数b_max=str2double(sort(str_a,'descend')); %形成最大数b=b_max-b_min; %求最大数与最小数之差endb试题2.将数字1、2、3、4、5、6填入一个2行3列的表格中,要使得每一列右边的数字比左边的数字大,每一行下面的数字比上面的数字大。
请编写程序求出按此要求可有几种填写方法。
a(1)=1;a(6)=6;count=0; %用来计数b=perms('2345'); %产生2345的全排列[m,n]=size(b);for i=1:mtemp=b(i,:);a(2)=str2double(temp(1));a(3)=str2double(temp(2));a(4)=str2double(temp(3));a(5)=str2double(temp(4));if ((a(4)>a(2))&&(a(4)>a(3))&&(a(5)>a(3)))count=count+1;c=reshape(a,2,3); %将a向量转化为2*3矩阵输出disp(c);endenddisp(['共有',num2str(count),'种填写方法']); %输出填写方法的种数试题3.编写成绩排序程序。
MATLAB总复习题(14151)
diag(diag(A))产生的矩阵是[1 0 0;0 5 0;0 0 9],若有命令 B=A([3 1],:),则 B=[7
8 9;1 2 3].
24. MATLAB 的基本功能有 数值计算 , 符号计算 , 绘图 ,
编程
、 GUI 开发 。
25.
利用冒号“:”产生矢量
100
, 100
B.在模块旁双击鼠标后出现的编辑框中
4
实现
C.在模块的下边或旁边的编辑框中 D.在模块的属性窗口中
19、以下 4 种语句中 MATLAB 独有的语句是( C )。
A.if 语句
B.for 语句
C.try 语句
D.switch 语句
20、以下 MATLAB 变量名,合法的是( A )。
A.flower2
1) array1(2,:)= 0.3000 8.1000 7.6000 1.8000
2) array1(1:3,[3 3 4])= [4.1000,4.1000,-2.7000;-7.6000,-7.6000,1.8000;0.5000,0.5000,0.4000]
3) array1([1 1],[3 4])=[4.1000,-2.7000;4.1000,-2.7000] 27. 设 a,b,c 和 d 的定义如下,计算如下表达式的值: a=3,b=2,c=9,d=1 1)a*b^2>a*c ans = 0 2)d|b>a ans = 1 3)(d|b)>a ans = 0
选择题
1、产生四维单位矩阵的语句为( B )。
A.ones(4)
B.eye(4)
C.zeros(4)
D.rand(4)
2、求解线性方程组 Ax b ,当 detA 0 ,方程的解是( A )。
matlab期末考试题及答案
matlab期末考试题及答案MATLAB期末考试题及答案一、选择题(每题2分,共20分)1. MATLAB中用于创建向量的函数是:A. vectorB. arrayC. linspaceD. ones答案:D2. 下列哪个命令可以计算矩阵的行列式?A. detB. diagC. traceD. rank答案:A3. 在MATLAB中,以下哪个选项是用于绘制三维图形的?A. plotB. plot3C. barD. scatter答案:B4. MATLAB中,用于计算向量范数的函数是:A. normB. meanC. medianD. std答案:A5. 下列哪个命令可以用于创建一个二维数组?A. array2dB. matrixC. create2dD. make2d答案:B6. MATLAB中,用于求解线性方程组的函数是:A. solveB. linsolveC. equationD. linprog答案:A7. 以下哪个函数可以用于生成随机数?A. randB. randomC. randnD. randi答案:A8. MATLAB中,用于实现循环结构的关键字是:A. loopB. forC. whileD. repeat答案:B9. 下列哪个命令可以用于绘制函数图形?A. plotB. graphC. drawD. functionplot答案:A10. MATLAB中,用于计算矩阵特征值的函数是:A. eigB. eigenvalueC. characteristicD. eigen答案:A二、简答题(每题5分,共30分)1. 简述MATLAB中矩阵的基本操作有哪些?答案:矩阵的基本操作包括矩阵的创建、矩阵的加法、减法、乘法、转置、求逆、求行列式等。
2. MATLAB中如何实现条件语句?答案:MATLAB中实现条件语句主要使用if-else结构,也可以使用switch-case结构。
3. 请解释MATLAB中的函数定义方式。
matlab考试题
matlab考试题一、选择题1. 在MATLAB中,下列哪个命令可以用于绘制三维曲面图?A. plot3B. surfC. meshD. contour32. 如何在MATLAB中创建一个名为“myArray”的数组,其元素从1到100?A. myArray = 1:100;B. myArray = array(1:100);C. array = {1, 2, 3, ..., 100};D. array = 1:100, name = 'myArray';3. 在MATLAB中,如何计算矩阵A和矩阵B的点积?A. A * BB. A.* BC. dot(A, B)D. A + B4. 若要在MATLAB中定义一个函数,使得输入参数x的平方和x的和相加,应该如何编写该函数?A. function y = x^2 + xB. function y = sum(x^2, x)C. function y = x^2 + sum(x)D. function y = x.^2 + x5. 在MATLAB中,如何清空当前工作空间的所有变量?A. clear allB. clearC. delete allD. clear workspace二、填空题1. 在MATLAB中,使用 ________ 命令可以导入外部数据文件。
2. 要创建一个从10到20的行向量,可以使用 MATLAB 代码________。
3. 在MATLAB中,使用 ________ 函数可以计算矩阵的行列式。
4. 若要在MATLAB中绘制一个单位圆,可以使用 ________ 命令。
5. 为了在MATLAB中保存工作,可以使用 ________ 命令。
三、简答题1. 请简述MATLAB的主要功能和应用领域。
2. 描述在MATLAB中如何进行矩阵运算。
3. 说明在MATLAB中创建和使用函数的基本步骤。
4. 讨论在MATLAB中进行数据分析和可视化的常用方法。
MATLAB期末考试试卷汇总
MATLAB期末考试试卷及其参考答案一、填空题1、MATLAB常用操作界面包括、工作空间窗口、、、内存数组编辑器、M文件编辑/调试器、帮助导航/浏览器、图形窗口等。
2、MATLAB中Inf或inf表示、NaN或nan表示、nargout表示。
3、MATLAB中逗号主要用作;用作输入量与输入量之间的分隔符;。
4、工作空间浏览器主要用于内存变量的、和。
5、MATLAB实现将全下标转换为单下标的指令为、据单下标换算出全下标的指令为。
6、二维数组的标识有、、“逻辑1”标识。
二、简答题1、简述MATLAB历史指令窗的主要作用。
2、简述空数组的功用。
3、简述MATLAB函数的基本结构。
4、简述绘制二维图形的一般步骤。
三、阅读程序并回答问题(每题4分,共28分)1、写出下列指令运行结果。
A=zeros(2,4);A(:)=1:8;s=[2 3 5];A(s)Sa=[10 20 30]'A(s)=Sa2、写出下列指令运行结果。
A=reshape(1:16,2,8)reshape(A,4,4)s=[1 3 6 8 9 11 14 16];A(s)=03、写出下列指令运行结果。
A=[1,2;3,4];B=[-1,-2;2;1];S=3;A.*BA*BS.*AS*B4、下面的函数主要完成什么功能?function f=factor(n)if n<=1f=1;elsef=factor(n-1)*n;end5、写出下列指令运行结果。
ch=‘ABc123d4e56Fg9’;subch=ch(1:5)revch=ch(end:-1:1)k=find(ch>=‘a’&ch<=‘z’);ch(k)=ch(k)-(‘a’-‘A’);char(ch)6、写出下列指令运行结果。
A(1,1)={'this is cell'};A{1,2}={[1 2 3;4 5 6]};A{2,1}=[1+2*i];A{2,2}=A{1,2}{1}+(A{1,2}{1}(1,1)+A{1,2}{1}(2,2));celldisp(A)7、下面的程序完成功能是什么?t=0:pi/50:4*pi;y0=exp(-t/3);y=exp(-t/3).*sin(3*t);plot(t,y,'-r',t,y0,':b',t,-y0,':b')xlabel(‘\bf\it t’);ylabel(‘\bf\it y’);grid on;四、编程题(32分)1、1、在同一图上分别用红色实线和绿色虚线绘制y1=sin(x)和y2=cos(x)在区间[0,4*pi]的曲线,并用星号*标出两条曲线的交点以及建立图例。
(完整word版)Matlab期末复习题(答案)
一、 选择题(有10个题,共20分)1.有一个4×4矩阵A,表示取得矩阵A 的第一行和第二行的第二列至第四列所有元素的命令是( A )(A) A(1:2,2:4) (B) A(2:4,1:2) (C) A(1:2:4) (D) A(4:2:1)2.将一个图形窗口分成3×4个子区并表示第一个子区的命令是( C )A . subplot(12,1)B .subplot(1,12)C .subplot(3,4,1)D .subplot(1,3,4)3.利用Matlab 的符号计算功能计算微分方程初值问题⎪⎩⎪⎨⎧=+-=2)1(42y x x y dx dy 在区间 [1,2]上的解析解时所用到的函数是( D )(A) ode23 (B) ode45 (C) solve (D) dsolve4.以下有关Matlab 子函数的性质中不正确的是( D )(A) 子函数只能被处于同一个文件的主函数或其他子函数调用;(B) 在M 函数文件中,任何指令通过“名字”对函数进行调用时,子函数的优先级仅次于内装函数;(C) 在M 函数文件内,主函数的位置不可改变,但子函数的排列次序可以任意改变;(D) help, lookfor 等帮助指令都能提供关于子函数的任何帮助信息。
5.以下语句中生成按钮控件的语句是( B )(A) h_1=uimenu(gcf,'Label','&Blue');(B) h_1=uicontrol(gcf,'style','push', 'string','grid off','callback','grid off');(C) h_1=uicontrol(gcf,'style','text', 'horizontal','left','string',{'输入'});(D) h_1=axes('unit','normalized','position',[0,0,1,1],'visible','off');6.以下有关Matlab 函数及其句柄的说法中正确的是( A,C )(A) 在该函数的目录下可定义该函数的句柄,句柄定义后,可用feval 函数和句柄在任何目录下调用该函数;(B) 函数不在Matlab 的当前工作目录下不可执行,但可以用feval 函数和句柄调用该函数;(C) 函数不在Matlab 的当前工作目录下时,可以定义函数的句柄;(D) 函数不在Matlab 的当前工作目录下时,不可以定义函数的句柄。
matlab考试试卷
matlab考试试卷一、选择题(每题2分,共20分)1. MATLAB中,用于创建一个3x3的单位矩阵的命令是:A. eye(3)B. ones(3)C. zeros(3)D. identity(3)2. 若变量A是一个3x3的矩阵,下列哪个命令可以用来计算A的行列式?A. det(A)B. rank(A)C. inv(A)D. eig(A)3. MATLAB中,以下哪个函数用于绘制函数f(x)=sin(x)的图像?A. plot(x, sin(x))B. graph(x, sin(x))C. draw(x, sin(x))D. line(x, sin(x))4. 假设x是一个向量,下列哪个命令可以用来计算x中所有元素的平均值?A. mean(x)B. sum(x)C. max(x)D. min(x)5. 在MATLAB中,如何创建一个从0到1的0.1间隔的向量?A. 0:0.1:1B. 0..1/0.1C. 0 to 1 by 0.1D. linspace(0, 1, 0.1)6. 若A是一个矩阵,下列哪个命令可以用来计算A的转置?A. A'B. transpose(A)C. flip(A)D. rot90(A)7. MATLAB中,如何使用循环结构来计算1到100的和?A. for i=1:100; sum=0; sum=sum+i; endB. for i=1:100; sum=sum+i; endC. for i=1 to 100; sum=0; sum=sum+i; endD. for i=1:100; sum=i; end8. 下列哪个命令可以用来计算矩阵A的秩?A. rank(A)B. det(A)C. eig(A)D. inv(A)9. MATLAB中,如何创建一个5x5的全零矩阵?A. zeros(5)B. ones(5)C. eye(5)D. identity(5)10. 若x是一个向量,下列哪个命令可以用来计算x中所有元素的平方和?A. sum(x.^2)B. sum(x^2)C. dot(x, x)D. x*x二、填空题(每题3分,共15分)1. MATLAB中,使用________函数可以计算两个向量的点积。
(完整word版)Matlab考试题库+答案
填空题1、标点符号; %—用来表示该行为注释行。
可以使命令行不显示运算结果,2、x为0~4pi,步长为0.1pi的向量,使用命令 x=0:0.1*pi:4*pi创建。
3、输入矩阵A=,使用全下标方式用A(2,2)取出元素“-5”,使用单下标方式用A(5)取出元素“-5”。
4、符号表达式sin(2*a+t)+m中独立的符号变量为t。
5、M脚本文件和M函数文件的主要区别是M脚本文件没有函数定义和M函数文件有函数定义_______。
6. 设x是一维数组,x的倒数第3个元素表示为x(_end-2_)设y为二维数组,要删除y的第34行和48列,可使用命令y(34,:)=[] ;y(:,48)=[];7. 将变量x以Ascii文本格式存储到文件fname.txt,应使用命令save _x ;8. 在while 表达式, 语句体, End 循环语句中,表达式的值非零时表示循环条件为真,语句体将被执行,否则跳出该循环语句;9.要从键盘读入一个字符串并赋值给变量x,且给出提示“Who is she?”,应使用命令x=input(‘Who is she?’,’s’);10.设A=和B=和C=均为m*n矩阵,且存在于WorkSpace中,要产生矩阵D=,可用命令D=(A-C)/B.^C,计算可用命令det(inv(A’*B)11. 在MATLAB命令窗口中的“>>”标志为MATLAB的命令行提示符,“│”标志为输入提示符。
12.已知A=[1 2 3;4 5 0;7 8 9];B=[1 0 3;1 5 0;0 1 2];写出下列各指令运行的结果。
A+B;A.*B;A==B ;ans= [2,2,6;5,10,0;7,9,11]ans= [1,0,9;4,25,0;0,8,18]ans= [1,0,1;0,1,1;0,0,0]13.已知A是矩阵,求A的对角矩阵函数是 diag ;求A的下三角矩阵函数是 tril。
Matlab试题和答案
M a t l a b试题和答案(总7页)--本页仅作为文档封面,使用时请直接删除即可----内页可以根据需求调整合适字体及大小--Matlab 上机考试试题考试要求:1、从10道题目中随机抽取3道独立完成,时间1小时。
(输入randperm (10),取前三个数)2、每个题目兴建一个.m的文件,命名方式ks+N.m(N为题号),然后将所选三个题目放入一个文件夹,文件名为学号+姓名。
考试完成后将文件夹通过FTP 提交。
3、考试完成后要写一份报告,内容包括以下:(建一个.Doc的文档,文件名为学号+姓名)(1)题号,题目;(2)运行结果及其分析;(3)图也要粘贴在文档中。
4、查阅资料写一篇2000字左右的关于matlab在电子信息中的应用的小论文或综述,也可以具体的写matlab在电子信息中某一个方面或某一个点的应用。
(打印或手写都可,打印版要交电子文档)5、所有要交的东西在1月3号之前必须交齐。
(由学习委员统一收齐交给我,电子文档也拷到学习委员处,统一拷给我)。
所交项目包括:考试报告打印版,小论文打印版(两个装订在一起,考试报告在上,小论文在下,最好做一个统一的封皮),考试报告doc文档,小论文doc文档。
Matlab 上机考试试题1.求下列联立方程的解3x+4y-7z-12w=45x-7y+4z+ 2w=-3X +8z- 5w=9-6x+5y-2z+10w=-8(1)求系数矩阵的秩; (2)求出方程组的解。
2.在[-10,10;-10,10]范围内画出函数2222 sinyx yx z++=的三维图形。
3.试画出系统321()221H s s s s =+++的零极点分布图,判断系统是否稳定,同时求其单位冲激响应和频率响应(幅频特性和相频特性)。
4. 将一个屏幕分4幅,选择合适的步长在右上幅与左下幅绘制出下列函数的图形。
(1)]22[)cos(ππ,,-∈x x (曲线图); (2)4)y 2,-4x (-242),(2222≤≤≤≤+=;y x y x f (曲面图)。
(完整版)matlab基础练习题(带答案)
Matlab 基础练习题常量、变量、表达式1、 MATLAB 中,下面哪些变量名是合法的?( )(A )_num (B )num_ (C )num- (D )-num 2、 在MA TLAB 中,要给出一个复数z 的模,应该使用( )函数。
(A )mod(z) (B )abs(z) (C )double(z) (D )angle(z) 3、 下面属于MATLAB 的预定义特殊变量的是?( )(A )eps (B )none (C )zero (D )exp4、 判断:在MA TLAB 的内存工作区中,存放一个英文字符 'a' 需要占用1个字节,存放一个中文字符‘啊’需要占用2个字节。
( 错,都是2个字节 )5、 判断:MA TLAB 中,i 和j ( 对 )6、 判断:MA TLAB 中,pi 代表圆周率,它等于3.14。
( 错,后面还有很多位小数 )7、 在MA TLAB 中,若想计算的51)3.0sin(21+=πy 值,那么应该在MA TLAB 的指令窗中输入的MA TLAB 指令是__y1=2*sin(0.3*pi)/(1+sqrt(5))_。
8、 在MA TLAB 中,a = 1,b = i ,则a 占_8__个字节,b 占_16_个字节,c 占________字节。
9、 在MA TLAB 中,inf 的含义是__无穷大__,nan 的含义是__非数(结果不定)___。
数组1、 在MA TLAB 中,X 是一个一维数值数组,现在要把数组X 中的所有元素按原来次序的逆序排列输出,应该使用下面的( )指令。
(A )X[end:1] (B )X[end:-1:1] (C )X (end:-1:1) (D )X(end:1) 2、 在MA TLAB 中,A 是一个字二维数组,要获取A 的行数和列数,应该使用的MATLAB的命令是( )。
(A )class(A) (B )sizeof(A) (C )size(A) (D )isa(A)3、 在MATLAB 中,用指令x=1:9生成数组x 。
MATLAB综合练习题汇总
一、填空题1、在MATLAB中,清除所有变量的命令为____________。
2、在MATLAB中,保存和载入数据分别使用命令____________、____________。
3、矩阵A的条件数记为___________,定义为___________。
4、在MATLAB中,对图形窗口进行灵活分割的命令为____________,对函数自适应采样的绘图函数为___________,绘制三维曲面的函数为____________、____________。
5、在MATLAB中,求矩阵特征值及对应的特征向量的命令为___________。
6、[2 1 3],[1 2 1]+A B==,A B =,A.*B=。
7、在MATLAB中,zeros(1,3)= ,ones(1,2)= 。
8、给定1n+个点可以唯一确定一个n阶多项式,在MATLAB 中,利用命令_________ 可以确定多项式的系数,对多项式求导的命令为____________。
9、在MATLAB中,使用命令____________可做线性插值。
10、在MATLAB中,输入命令:sum([2 1 5;9 8 5]),输出结果:ans= 。
11、在MATLAB 中,画二维图形的常用函数为____________,画三维图形常用函数为__________、___________、_______________。
12、在MATLAB 中,求矩阵A 的逆矩阵可用命令__________。
13、[7 1 5;2 5 6;3 1 5]A ,(2, 3)A = ,A.^2= 。
14、在MATLAB 中,可以用命令 计算多项式的值,用命令 求多项式的根。
15、将区间[,]a b 三等分,步长为h ,各个节点的函数值为1234,,,f f f f ,则3/8辛普森法的公式为 。
1/3辛普森法的公式为 。
16、在MATLAB 中,数据输出时可以用命令_________改变数据输出格式。
综合练习matlab
《MATLAB程序设计与工程应用》综合练习答题要求:1.直接将答案写在本文档中,可通过执行matlab指令来验证结果;2.答案一律用蓝色字体标明;3.发还给我的文件以“学号+姓名”的方式命名,否则拒收。
一、选择题(每题2分,共40分)1.最初的MATLAB核心程序是采用()语言编写的。
A. FORTRANB. CC. BASICD. PASCAL2.已于2014年3月发布的MATLAB新版本的编号为()。
A.MATLAB 2014RaB.MATLAB R2014aC.MATLAB 2014RbD.MATLAB R2014b3.当在命令窗口执行命令时,如果不想立即在命令窗口中输出结果,可以在命令后加上()。
A. 冒号B. 逗号C. 分号D. 空格4.如果要重新执行以前输入的命令,可以使用()键。
A. 左箭头←B. 右箭头→C. 下箭头↓D. 上箭头↑5.下列变量名中()是合法的。
A. end,lbcxB. char_1,i,jC. x\y,a1234D. xy,a.16.已知数组123456789101112a⎡⎤⎢⎥=⎢⎥⎢⎥⎣⎦,则要以单下标方式访问元素8时,应该使用的命令是()。
A. a(3)B. a(4)C. a(11)D. a(8)7.已知数组123456789a⎡⎤⎢⎥=⎢⎥⎢⎥⎣⎦,则a(:,end)是指()。
A. 第一行元素B. 所有元素C. 第三行元素D. 第三列元素8.已知数组123456789a⎡⎤⎢⎥=⎢⎥⎢⎥⎣⎦,则运行mean(a)命令是()。
A. 计算a数组每列的平均值B. 计算a数组每行的平均值C. a数组增加一行平均值D. a数组增加一列平均值9.有以下程序代码:a=eye(5);for n=a(2:end,:)则for循环的循环次数是()。
A. 3B. 4C. 5D. 110.有以下程序代码:x=reshape(1:12,3,4);for k=1:4if x(:,k)<=6commands1;elsecommands2;endend则代码commands1执行的次数是()。
matlab试题及答案
matlab试题及答案一、单项选择题(每题2分,共10分)1. MATLAB中用于创建向量的命令是:A. vectorB. arrayC. linspaceD. colon答案:D2. 在MATLAB中,以下哪个函数用于计算矩阵的行列式?A. detB. rankC. invD. eig答案:A3. MATLAB中用于进行矩阵转置的运算符是:A. 'B. .C. ^D. !答案:A4. 若A是一个3x3的矩阵,执行命令A(2,:)=0;后,矩阵A的第二行将变为:A. [0 0 0]B. [1 0 0]C. [0 1 0]D. [0 0 1]答案:A5. MATLAB中,以下哪个函数用于绘制三维曲面图?A. plotB. surfC. barD. hist答案:B二、填空题(每题3分,共15分)1. MATLAB中,使用________命令可以清除所有变量。
答案:clear2. 若要在MATLAB中创建一个从0到1的100个元素的向量,可以使用命令________。
答案:linspace(0,1,100)3. MATLAB中,使用________函数可以计算矩阵的特征值。
答案:eig4. 在MATLAB中,________函数用于计算两个矩阵的点乘。
答案:dot5. 若要在MATLAB中绘制一个圆,可以使用________函数。
答案:plot三、简答题(每题5分,共20分)1. 请解释MATLAB中矩阵索引的概念。
答案:在MATLAB中,矩阵索引指的是通过行号和列号来访问矩阵中特定元素的过程。
例如,A(2,3)表示访问矩阵A的第二行第三列的元素。
2. MATLAB中如何实现矩阵的元素乘法?答案:在MATLAB中,矩阵的元素乘法可以通过使用点乘运算符(.*)来实现。
例如,C = A .* B,其中A和B是相同大小的矩阵。
3. 请说明MATLAB中如何使用循环结构。
答案:MATLAB中可以使用for循环和while循环两种循环结构。
MatLab考试题题库(必做题)(带答案)
MatLab考试题题库(必做题)(带答案)一,1.请登陆美国MathWork公司的网站,查看看现在大概有多少本MATLAB-baedbook(以MATLAB为基本软件,来说明各个专业领域的教科书或工具书)。
哪一个领域的MATLAB-baedbook最多中文书共有几本答:1612本,数学方面的最多,中文书共有37本。
2.请在MATLAB中直接输入下列常数,看它们的值是多少:a.ib.jc.epd.infe.nanf.pig.realma某h.realmin依次解为:an=0+an=0+an=an=Infan=NaNan=an=+308an=3.试写一函数regPolygon(n),其功能为画出一个圆心在(0,0)、半径为1的圆,并在圆内画出一个内接正n边形,其中一顶点位于(0,1)。
例如regPolygon(8)可以画出如下之正八边型:解:新建文件如下:functiony=regPolyfon(n)n=8;%要画的n边形R=1;%圆的半径t=0::2某pi;某=R某co(t);y=R某in(t);m=linpace(pi/2,5/2某pi,n+1);某z=R某co(m);yz=R某in(m);holdonplot(某,y,某z,yz);a某i'equal';4.一条参数式的曲线可由下列方程式表示:某=in(t),y=1-co(t)+t/10当t由0变化到4某pi时,请写一个MATLAB的脚本,画出此曲线在某Y平面的轨迹。
解:新建:t=linpace(0,4某pi);某=in(t);y=1-co(t)+t/10;plot(某,y,'-o');5.当一个小圆轮沿着一条曲线行进时,轮缘任一点的轨迹就会产生变化丰富的摆线。
假设小圆轮的半径r=2。
a.当小圆轮绕着一个大圆(半径R=5)的外部滚动时,请画此「圆轮摆线」或「外花瓣线」。
b.重复上小题,但改成在大圆的内部滚动,请画出此「内花瓣线」。
matlab总练习题(完整版)
>> vpa('pi',20)ans =3.85>> vpa('exp(1)',20)ans =2.54>> x=linspace(-pi,pi,21);>> y=sin(x)y =Columns 1 through 6-0.0000 -0.3090 -0.5878 -0.8090 -0.9511 -1.0000 Columns 7 through 12-0.9511 -0.8090 -0.5878 -0.3090 0 0.3090Columns 13 through 180.5878 0.8090 0.9511 1.0000 0.9511 0.8090 Columns 19 through 210.5878 0.3090 0.0000>> k=1:1000;>> kk=1./k;>> kkk=kk./k;>> res=sum(kkk)-(pi^2)/6res =-9.9950e-04%承接上题>> sum(kk)-log(1000)ans =0.5777>> power(1+eps,1/eps) ans =2.7183>> a=rand(2,3)a =0.8147 0.1270 0.63240.9058 0.9134 0.0975 >> x=a(1,:)x =0.8147 0.1270 0.6324 >> y=a(2,:)y =0.9058 0.9134 0.0975 >> norm(x)ans =1.0391>> norm(y)ans =1.2900>> acos(dot(x,y)/norm(x)/norm(y))ans =0.8189>> rand(3,3)ans =0.2785 0.9649 0.95720.5469 0.1576 0.48540.9575 0.9706 0.8003 >> det(ans)ans =0.2937线性无关a =0.3922 0.70600.6555 0.03180.1712 0.2769 >> x=a(1,:)x =0.3922 0.7060 >> y=a(2,:)y =0.6555 0.0318 >> z=a(3,:)z =0.1712 0.2769 >> alpha=x-zalpha =0.2210 0.4291>> beta=y-zbeta =0.4843 -0.2451>> alpha=[alpha 0]alpha =0.2210 0.4291 0 >> beta=[beta 0]beta =0.4843 -0.2451 0 >> cross(alpha,beta)ans =0 0 -0.2620 面积0.2620>> a=11:19;>> b=a;>> for k=1:8b=[b;a+10*k];end>> rank(b)ans =2>> a=vander(1:9); >> b=fliplr(a)b =Columns 1 through 51 1 1 1 11 2 4 8 161 3 9 27 811 4 16 64 2561 5 25 125 6251 6 36 216 12961 7 49 343 24011 8 64 512 40961 9 81 729 6561 Columns 6 through 91 1 1 132 64 128 256243 729 2187 65611024 4096 16384 655363125 15625 78125 3906257776 46656 279936 167961616807 117649 823543 576480132768 262144 2097152 1677721659049 531441 4782969 43046721>> det(b)ans =5.0566e+15方式一>> f=(x,y) exp(x+y)+sin((x^2)+(y^2)) f =(x,y)exp(x+y)+sin((x^2)+(y^2))>> f(1,2)ans =19.1266方式二function f=myfunfun(x,y)f=exp(x+y)+sin((x^2)+(y^2)); >> myfunfun(1,2)ans =19.1266>>Char 1.5727>> a=ans;>> sqrt2char(3-2)=a(3) sqrt2char =5727>> for x=1:100b(x)=str2num(sqrt2char(x)) end>> sum(b)/100ans =4.8100f=(x) (x^3)*sin(x)+(x^2)/3+x*cos(x) f =(x)(x^3)*sin(x)+(x^2)/3+x*cos(x) >> ezplot(f,-2,1)>> x0=fzero(f,-1)x0 =-0.7889另一根为0,是显然的function y=difun(x) if x<-piy=-x-pi;elseif x>-pi & x<pi y=sin(x);elsey=(x-pi)/2;endend>> y=[]y =[]>> for x=-6:0.05:6y=[y difun(x)];end>> plot(x,y)>> plot([-6:0.05:6],y)>> pi/4ans =0.7854 %pi/4的理想值矩形公式:function y=rectangle(n) x=0:1/n:1;a=1./(1+x.*x);y=sum(a)*(1/n);end>> rectangle(1000)0.7861>> rectangle(10000)ans =0.7855>> rectangle(100000)ans =0.7854梯形公式:function y=trapezoid(n)x=0:1/n:1;a=1./(1+x.*x);begin=a(1);endd=a(n+1);a(1)=0;a(n)=0;y=sum(a)*(1/n)+begin*(1/n)*0.5+endd*(1/n)*0.5; endtrapezoid(1000)0.7854>> trapezoid(100)ans =0.7853Simpson 公式function y=simpson(n)x=0:1/n:1;a=thefun(x);begin=a(1);endd=a(n+1);medium=[];for x=1:nmedium=[medium (a(x)+a(x+1))*0.5];enda(1)=0;a(n)=0;y=begin*(1/n)*(1/6)+endd*(1/n)*(1/6)+sum(a)*(1/n)*(1/3)+sum(medium)*( 1/n)*(1/6)*4;endfunction e=thefun(r)e=1./(1+r.*r);>> simpson(100)ans =0.7854>> simpson(10)ans =0.7832>> A=[6 2 1 -1;2 4 1 0;1 1 4 -1;-1 0 -1 3]; >> b=[6 1 5 -5]';>> x=A\bx =0.7906-0.36130.8639-1.1152>> [diag(1:4) eye(4)]ans =1 0 0 0 1 0 0 00 2 0 0 0 1 0 00 0 3 0 0 0 1 00 0 0 4 0 0 0 1function yh=yhsj(n) yh=1;disp(1);for k=2:nyh=[yh,0]+[0,yh]; disp(yh)endend% n=11运行>> x=sym('x');>> f=sqrt(1+((4/9)*x^(1/2))^2) f =((16*x)/81 + 1)^(1/2)>> a=sym('a');>> b=sym('b');>> int(f,a,b)ans =(16*b + 81)^(3/2)/216 - (16*a + 81)^(3/2)/216>> t=sym('t');>> a=sym('a');>> x=a*(t-sin(t))x =a*(t - sin(t))>> y=a*(1-cos(t))y =-a*(cos(t) - 1)>> dx=diff(x)dx =-a*(cos(t) - 1)>> dy=diff(y)dy =a*sin(t)>> int(sqrt(dx^2+dy^2),0,2*pi)ans =8*(a^2)^(1/2)>> p=polyfit([-pi -pi/2 0 pi/2 pi],[0 -1 0 1 0],5) p =Columns 1 through 5-0.0349 0.0000 0.3440 -0.0000 0 Column 6-0.0000>> plot([-pi:pi/100:pi],polyval(p,-pi:pi/100:pi));>> hold on>> plot([-pi:pi/100:pi],sin(-pi:pi/100:pi));>>function a=num2p(n)strr=num2str(n);index=size(strr);indexx=index(2);a=[];for k=indexx-1:-1:0a=[a rem(fix(n/(10^k)),10)];endend>> num2p()ans =Columns 1 through 89 5 4 8 9 2 9 8 Columns 9 through 114 9 4function ppi=ttry(n)pointx=-1+2*rand(1,n);pointy=-1+2*rand(1,n);index=pointx.*pointx+pointy.*pointy;indexx=index<=1;ppi=4*sum(indexx)/n;end>> ttry(100)ans =3.1200>> ttry(10000)ans =3.1376function y=collatz(n) if n==1y=1return;elseif rem(n,2)==0n=n/2;elsen=3*n+1;endny=collatz(n); end>> collatz(12)n =6n =3n =10n =n =16 n =8 n =4 n =2 n =y =1>> f=(x) 1./(1+x.^2) f =(x)1./(1+x.^2)>> y=f(x);>> x=0:0.1:1; >> y=f(x);>> p=polyfit(x,y,5)Columns 1 through 5-0.2372 0.3529 0.5071 -1.1343 0.0115 Column 60.9999>> intp=polyint(p)intp =Columns 1 through 5-0.0395 0.0706 0.1268 -0.3781 0.0058 Columns 6 through 70.9999 0>> res1=polyval(intp,1)-polyval(intp,0)res1 =0.7854 %这是插值拟合解>> atan(1)ans =0.7854 %actan(1)公式解fid=fopen('C:\的文档2\matlab作业\pi_1m.txt','r') fid =3>> b=fscanf(fid,'%s');>> fclose(fid)ans =>> b(1:55)=[];编辑“givemerun.m”文件:y=1;n=zeros(1,10)flag=0;for x=1:1500000if y==1000001breakelseif b(x)~='[' & flag==0 & isempty(str2num(b(x)))~=1 c=b(x);d=str2double(c);n(d+1)=n(d+1)+1;y=y+1;elseif b(x)=='['flag=1;elseif b(x)==']'flag=0;endendendn>> givemerun %运行“givemerun”n =0 0 0 0 0 0 0 0 0 0n =n =Columns 1 through 399959 99758 100026Columns 4 through 6100229 100230 100359Columns 7 through 999548 99800 99985Column 10100106%分别为0,1,2,…,8,9在前一百万位出现的次>> sum(n)ans =1000000>> cc=num2str(n)cc =99959 99758 100026 100229 100230 100359 99548 99800 99985 100106>> fopen('res.txt','w')ans =6>> fprintf(6,cc)ans =78function f=veryfun(n)if n==6174returnelseindex(1)=(n-rem(n,1000))/1000; index(2)=fix(n/100)-index(1)*10; index(3)=rem(fix(n/10),10);index(4)=rem(n,10);index2=sort(index,'ascend'); index3=sort(index,'descend');a=[1000 100 10 1];max=index3*(a');min=index2*(a');max-minveryfun(max-min);endend>> veryfun(9864)ans =5175 ans =5994 ans =5355 ans =1998 ans =8082ans =8532ans =6174function m=tem(index,t)m=index(1).*exp(index(2).*t)end>> [index,r,j,c,m,e]=nlinfit(t,m,tem,[0 0])index =78.7137 -0.1047%在这里省略中间的迭代过程和表格变量输入过程>> m=tem(index,[0:0.1:25]);>> plot([0:0.1:25],m)function son=sonfind(A) index=sum(A)/2;for k=1:5b=nchoosek([1:10],k);sizee=size(b);kk=sizee(1);for x=1:kkc=b(x,:);A_son=[];for y=cA_son=[A_son A(y)];endif sum(A_son)==index son=A_son;breakreturnendendendend%集合元素有互异性,但不影响验证!>> sonfind(11:20)>> sonfind([10 5 5 10 60 10 10 10 10 10]) ans =5 5 60>> sonfind([10 10 10 10 90 10 10 10 10 10]) ans =90%进一步验证(这里元素互异)>> sonfind([21 22 23 24 25 11 12 13 14 65]) ans =21 22 23 24 25>> sort([21 22 23 24 25 11 12 13 14 65])ans =11 12 13 14 21 22 23 24 25 65 >> sonfind(ans)ans =11 12 13 14 652016 12。
MATLAB考试试题及答案
MATLAB考试试题及答案一、选择题(每题5分,共25分)1. 在MATLAB中,下列哪个命令用于创建一个行向量?A. v = [1; 2; 3]B. v = [1 2 3]C. v = [1, 2, 3]D. v = (1, 2, 3)答案:B2. 在MATLAB中,下列哪个命令用于计算矩阵A的行列式?A. det(A)B. det(A')C. det(inv(A))D. det(A^2)答案:A3. 在MATLAB中,下列哪个命令用于计算矩阵A的逆?A. inv(A)B. A^(-1)C. pinv(A)D. A\B答案:A4. 在MATLAB中,下列哪个命令用于求解线性方程组Ax= b?A. A\bB. A/BC. B/AD. A^-1b答案:A5. 在MATLAB中,下列哪个命令用于绘制二维图形?A. plot(x, y)B. scatter(x, y)C. bar(x, y)D. pie(x, y)答案:A二、填空题(每题5分,共25分)6. 在MATLAB中,可以使用______命令创建一个等差数列。
答案:linspace7. 在MATLAB中,可以使用______命令创建一个等比数列。
答案:logspace8. 在MATLAB中,可以使用______命令计算矩阵A的特征值。
答案:eig(A)9. 在MATLAB中,可以使用______命令计算矩阵A的特征向量。
答案:eigenvector(A)10. 在MATLAB中,可以使用______命令计算矩阵A的奇异值。
答案:svd(A)三、解答题(每题25分,共75分)11. 编写MATLAB程序,求解以下线性方程组:2x + 3y - z = 1x - y + 2z = 03x + 2y - 4z = -3答案:```A = [2 3 -1; 1 -1 2; 3 2 -4];b = [1; 0; -3];x = A\b;disp('解为:');disp(x);```12. 编写MATLAB程序,绘制以下函数的图形:y = sin(x) + cos(x),x ∈ [0, 2π]答案:```x = linspace(0, 2pi, 100);y = sin(x) + cos(x);plot(x, y);title('y = sin(x) + cos(x)');xlabel('x');ylabel('y');grid on;```13. 编写MATLAB程序,计算以下矩阵的特征值和特征向量:A = [1 2 3; 4 5 6; 7 8 9]答案:```A = [1 2 3; 4 5 6; 7 8 9];[V, D] = eig(A);disp('特征值:');disp(diag(D));disp('特征向量:');disp(V);```14. 编写MATLAB程序,使用牛顿迭代法求解方程f(x) = x^3 - 4x + 2 = 0在x = 1附近的根。
(完整版)matlab经典习题及解答
(完整版)matlab经典习题及解答第1章 MATLAB 概论1.1 与其他计算机语⾔相⽐较,MATLAB 语⾔突出的特点是什么?MATLAB 具有功能强⼤、使⽤⽅便、输⼊简捷、库函数丰富、开放性强等特点。
1.2 MATLAB 系统由那些部分组成?MATLAB 系统主要由开发环境、MATLAB 数学函数库、MATLAB 语⾔、图形功能和应⽤程序接⼝五个部分组成。
1.4 MATLAB 操作桌⾯有⼏个窗⼝?如何使某个窗⼝脱离桌⾯成为独⽴窗⼝?⼜如何将脱离出去的窗⼝重新放置到桌⾯上?在MATLAB 操作桌⾯上有五个窗⼝,在每个窗⼝的右上⾓有两个⼩按钮,⼀个是关闭窗⼝的Close 按钮,⼀个是可以使窗⼝成为独⽴窗⼝的Undock 按钮,点击Undock 按钮就可以使该窗⼝脱离桌⾯成为独⽴窗⼝,在独⽴窗⼝的view 菜单中选择Dock ……菜单项就可以将独⽴的窗⼝重新防⽌的桌⾯上。
1.5 如何启动M ⽂件编辑/调试器?在操作桌⾯上选择“建⽴新⽂件”或“打开⽂件”操作时,M ⽂件编辑/调试器将被启动。
在命令窗⼝中键⼊edit 命令时也可以启动M ⽂件编辑/调试器。
1.6 存储在⼯作空间中的数组能编辑吗?如何操作?存储在⼯作空间的数组可以通过数组编辑器进⾏编辑:在⼯作空间浏览器中双击要编辑的数组名打开数组编辑器,再选中要修改的数据单元,输⼊修改内容即可。
1.7 命令历史窗⼝除了可以观察前⾯键⼊的命令外,还有什么⽤途?命令历史窗⼝除了⽤于查询以前键⼊的命令外,还可以直接执⾏命令历史窗⼝中选定的内容、将选定的内容拷贝到剪贴板中、将选定内容直接拷贝到M ⽂件中。
1.8 如何设置当前⽬录和搜索路径,在当前⽬录上的⽂件和在搜索路径上的⽂件有什么区别?当前⽬录可以在当前⽬录浏览器窗⼝左上⽅的输⼊栏中设置,搜索路径可以通过选择操作桌⾯的file 菜单中的Set Path 菜单项来完成。
在没有特别说明的情况下,只有当前⽬录和搜索路径上的函数和⽂件能够被MATLAB 运⾏和调⽤,如果在当前⽬录上有与搜索路径上相同⽂件名的⽂件时则优先执⾏当前⽬录上的⽂件,如果没有特别说明,数据⽂件将存储在当前⽬录上。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
>> vpa('pi',20)ans =3.1415926535897932385>> vpa('exp(1)',20)ans =2.7182818284590452354>> x=linspace(-pi,pi,21);>> y=sin(x)y =Columns 1 through 6-0.0000 -0.3090 -0.5878 -0.8090 -0.9511 -1.0000 Columns 7 through 12-0.9511 -0.8090 -0.5878 -0.3090 0 0.3090 Columns 13 through 180.5878 0.8090 0.9511 1.0000 0.9511 0.8090 Columns 19 through 210.5878 0.3090 0.0000>> k=1:1000;>> kk=1./k;>> kkk=kk./k;>> res=sum(kkk)-(pi^2)/6res =-9.9950e-04%承接上题>> sum(kk)-log(1000) ans =0.5777>> power(1+eps,1/eps) ans =2.7183>> a=rand(2,3)a =0.8147 0.1270 0.63240.9058 0.9134 0.0975 >> x=a(1,:)x =0.8147 0.1270 0.6324 >> y=a(2,:)y =0.9058 0.9134 0.0975 >> norm(x)ans =1.0391>> norm(y)ans =1.2900>> acos(dot(x,y)/norm(x)/norm(y))ans =0.8189>> rand(3,3)ans =0.2785 0.9649 0.95720.5469 0.1576 0.48540.9575 0.9706 0.8003>> det(ans)ans =0.2937线性无关a =0.3922 0.70600.6555 0.03180.1712 0.2769>> x=a(1,:)x =0.3922 0.7060>> y=a(2,:)y =0.6555 0.0318>> z=a(3,:)z =0.1712 0.2769>> alpha=x-zalpha =0.2210 0.4291>> beta=y-zbeta =0.4843 -0.2451>> alpha=[alpha 0]alpha =0.2210 0.4291 0>> beta=[beta 0]beta =0.4843 -0.2451 0 >> cross(alpha,beta)ans =0 0 -0.2620面积0.2620>> a=11:19;>> b=a;>> for k=1:8b=[b;a+10*k];end>> rank(b)ans =2>> a=vander(1:9);>> b=fliplr(a)b =Columns 1 through 51 1 1 1 11 2 4 8 161 3 9 27 811 4 16 64 2561 5 25 125 6251 6 36 216 12961 7 49 343 24011 8 64 512 40961 9 81 729 6561 Columns 6 through 91 1 1 132 64 128 256243 729 2187 65611024 4096 16384 655363125 15625 78125 3906257776 46656 279936 167961616807 117649 823543 576480132768 262144 2097152 1677721659049 531441 4782969 43046721>> det(b)ans =5.0566e+15方式一>> f=@(x,y) exp(x+y)+sin((x^2)+(y^2))f =@(x,y)exp(x+y)+sin((x^2)+(y^2))>> f(1,2)ans =19.1266方式二function f=myfunfun(x,y)f=exp(x+y)+sin((x^2)+(y^2));>> myfunfun(1,2)ans =19.1266>>Char1.4142135623730950488016887242096980785696718753769480731766797379907324784621 070388503875343276415727>> a=ans;>> sqrt2char(3-2)=a(3)sqrt2char =414213562373095048801688724209698078569671875376948073176679737990732478462107 0388503875343276415727>> for x=1:100b(x)=str2num(sqrt2char(x))end>> sum(b)/100ans =4.8100f=@(x) (x^3)*sin(x)+(x^2)/3+x*cos(x) f =@(x)(x^3)*sin(x)+(x^2)/3+x*cos(x) >> ezplot(f,-2,1)>> x0=fzero(f,-1)x0 =-0.7889另一根为0,是显然的function y=difun(x)if x<-piy=-x-pi;elseif x>-pi & x<piy=sin(x);elsey=(x-pi)/2;endend>> y=[]y =[]>> for x=-6:0.05:6y=[y difun(x)];end>> plot(x,y)>> plot([-6:0.05:6],y)>> pi/4ans =0.7854 %pi/4的理想值矩形公式:function y=rectangle(n)x=0:1/n:1;a=1./(1+x.*x);y=sum(a)*(1/n);end>> rectangle(1000)ans =0.7861>> rectangle(10000)ans =0.7855>> rectangle(100000)ans =0.7854梯形公式:function y=trapezoid(n)x=0:1/n:1;a=1./(1+x.*x);begin=a(1);endd=a(n+1);a(1)=0;a(n)=0;y=sum(a)*(1/n)+begin*(1/n)*0.5+endd*(1/n)*0.5; endtrapezoid(1000)ans =0.7854>> trapezoid(100)ans =0.7853Simpson 公式function y=simpson(n)x=0:1/n:1;a=thefun(x);begin=a(1);endd=a(n+1);medium=[];for x=1:nmedium=[medium (a(x)+a(x+1))*0.5];enda(1)=0;a(n)=0;y=begin*(1/n)*(1/6)+endd*(1/n)*(1/6)+sum(a)*(1/n)*(1/3)+sum(medium)*( 1/n)*(1/6)*4;endfunction e=thefun(r)e=1./(1+r.*r);end>> simpson(100)ans =0.7854>> simpson(10)ans =0.7832>> A=[6 2 1 -1;2 4 1 0;1 1 4 -1;-1 0 -1 3];>> b=[6 1 5 -5]';>> x=A\bx =0.7906-0.36130.8639-1.1152>> [diag(1:4) eye(4)]ans =1 0 0 0 1 0 0 00 2 0 0 0 1 0 00 0 3 0 0 0 1 00 0 0 4 0 0 0 1function yh=yhsj(n) yh=1;disp(1);for k=2:nyh=[yh,0]+[0,yh]; disp(yh)endend% n=11运行>> x=sym('x');>> f=sqrt(1+((4/9)*x^(1/2))^2)f =((16*x)/81 + 1)^(1/2)>> a=sym('a');>> b=sym('b');>> int(f,a,b)ans =(16*b + 81)^(3/2)/216 - (16*a + 81)^(3/2)/216>> t=sym('t');>> a=sym('a');>> x=a*(t-sin(t))x =a*(t - sin(t))>> y=a*(1-cos(t))y =-a*(cos(t) - 1)>> dx=diff(x)dx =-a*(cos(t) - 1)>> dy=diff(y)dy =a*sin(t)>> int(sqrt(dx^2+dy^2),0,2*pi)ans =8*(a^2)^(1/2)>> p=polyfit([-pi -pi/2 0 pi/2 pi],[0 -1 0 1 0],5)p =Columns 1 through 5-0.0349 0.0000 0.3440 -0.0000 0 Column 6-0.0000>> plot([-pi:pi/100:pi],polyval(p,-pi:pi/100:pi));>> hold on>> plot([-pi:pi/100:pi],sin(-pi:pi/100:pi));>>function a=num2p(n)strr=num2str(n);index=size(strr);indexx=index(2);a=[];for k=indexx-1:-1:0a=[a rem(fix(n/(10^k)),10)];endend>> num2p(95489298494)ans =Columns 1 through 89 5 4 8 9 2 9 8 Columns 9 through 114 9 4function ppi=ttry(n)pointx=-1+2*rand(1,n);pointy=-1+2*rand(1,n);index=pointx.*pointx+pointy.*pointy; indexx=index<=1;ppi=4*sum(indexx)/n;end>> ttry(100)ans =3.1200>> ttry(10000)ans =3.1376function y=collatz(n)if n==1y=1return;elseif rem(n,2)==0n=n/2;elsen=3*n+1;endny=collatz(n);>> collatz(12) n =6n =3n =10n =5n =16n =8n =4n =21y =1>> f=@(x) 1./(1+x.^2)f =@(x)1./(1+x.^2)>> y=f(x);>> x=0:0.1:1;>> y=f(x);>> p=polyfit(x,y,5)p =Columns 1 through 5-0.2372 0.3529 0.5071 -1.1343 0.0115 Column 60.9999>> intp=polyint(p)intp =Columns 1 through 5-0.0395 0.0706 0.1268 -0.3781 0.0058 Columns 6 through 70.9999 0>> res1=polyval(intp,1)-polyval(intp,0)res1 =0.7854 %这是插值拟合解>> atan(1)ans =0.7854 %actan(1)公式解fid=fopen('C:\陈民权的文档2\matlab作业\pi_1m.txt','r') fid =3>> b=fscanf(fid,'%s');>> fclose(fid)ans =>> b(1:55)=[];编辑“givemerun.m”文件:y=1;n=zeros(1,10)flag=0;for x=1:1500000if y==1000001breakelseif b(x)~='[' & flag==0 & isempty(str2num(b(x)))~=1c=b(x);d=str2double(c);n(d+1)=n(d+1)+1;y=y+1;elseif b(x)=='['flag=1;elseif b(x)==']'flag=0;endendendn>> givemerun %运行“givemerun”n =0 0 0 0 0 0 0 0 0 0 n =n =Columns 1 through 399959 99758 100026Columns 4 through 6100229 100230 100359Columns 7 through 999548 99800 99985Column 10100106%分别为0,1,2,…,8,9在前一百万位出现的次>> sum(n)ans =1000000>> cc=num2str(n)cc =99959 99758 100026 100229 100230 100359 99548 99800 99985 100106>> fopen('res.txt','w')ans =6>> fprintf(6,cc)ans =78function f=veryfun(n)if n==6174returnelseindex(1)=(n-rem(n,1000))/1000; index(2)=fix(n/100)-index(1)*10; index(3)=rem(fix(n/10),10);index(4)=rem(n,10);index2=sort(index,'ascend'); index3=sort(index,'descend');a=[1000 100 10 1];max=index3*(a');min=index2*(a');max-minveryfun(max-min);endend>> veryfun(9864)ans =5175ans =5994ans =5355ans =1998ans =8082ans =8532ans =6174function m=tem(index,t)m=index(1).*exp(index(2).*t)end>> [index,r,j,c,m,e]=nlinfit(t,m,@tem,[0 0])index =78.7137 -0.1047%在这里省略中间的迭代过程和表格变量输入过程>> m=tem(index,[0:0.1:25]);>> plot([0:0.1:25],m)function son=sonfind(A)index=sum(A)/2;for k=1:5b=nchoosek([1:10],k);sizee=size(b);kk=sizee(1);for x=1:kkc=b(x,:);A_son=[];for y=cA_son=[A_son A(y)];endif sum(A_son)==indexson=A_son;breakreturnendendendend%集合元素有互异性,但不影响验证!>> sonfind(11:20)>> sonfind([10 5 5 10 60 10 10 10 10 10])ans =5 5 60>> sonfind([10 10 10 10 90 10 10 10 10 10])ans =90%进一步验证(这里元素互异)>> sonfind([21 22 23 24 25 11 12 13 14 65])ans =21 22 23 24 25>> sort([21 22 23 24 25 11 12 13 14 65])ans =11 12 13 14 21 22 23 24 25 65>> sonfind(ans)ans =11 12 13 14 652016 12。