MATLAB实验题答案
MATLAB实验答案

MATLAB实验答案实验一:变量和矩阵的赋值、矩阵的初等运算实验目的:1. 熟悉MATLAB的工作环境2. 掌握变量的赋值、矩阵的创建。
3. 掌握矩阵和数组的初等运算。
4. 熟悉和掌握inv、mean、var、randn、rand、ones、zeros、magic、eye函数的使用。
实验内容:1. 菜单栏File→Preferences→Command Window→Font and Colors修改字体,选择Use custom font改为24。
同样方法File→Preferences→Editor/Debugger→Font and Colors 修改字体,选择Use custom font改为24。
点击Apply,OK即可。
2. 在内产生均匀分布的200个点,形成1×200向量赋给变量X。
(结果不必记录)X=linspace(0,2*pi,200);3. 在内每间隔3产生向量Y。
Y=[0:3:10];4. 给矩阵赋值,,打开workspace查看矩阵的赋值。
使用save data A B语句存储到data.mat数据文件中。
输入Clear all命令清空所有变量,再使用load data加载矩阵A 和B。
A=[1 4 8 13;-3 6 -5 -9;2 -7 -12 18];B=[5 4 3 -2;6 -2 3 -8;-1 3 -9 7];save data A B;clear all;load data;5. 产生8*6阶的正态分布随机数矩阵R,求其各列的平均值和方差,并求全体的平均值和方差。
R=randn(8,6);a=mean(R);b= var(R);c=mean(R(:));d=var(R(:));6. 模拟选号程序,现有10000人,按顺序编号为1,2,…10000号,一次随机选出一个编号,要求随机数均匀分布。
R=round(ceil(rand(10000,1)*10000));7. 产生4*6阶的均匀分布随机数矩阵R,要求其元素在1~16之间取整数值,并求此矩阵前四列组成的方阵的逆阵。
matlab上机实验答案-整理版

第一次实验答案1. 设要求以0.01秒为间隔,求出y 的151个点,并求出其导数的值和曲线。
clcclearx=0:0.01:1.5;y=sqrt(3)/2*exp(-4*x).*sin(4*sqrt(3)*x+pi/3)y1=diff(y)subplot(2,1,1)plot(x,y)subplot(2,1,2)plot(x(1:150),y1)2绘制极坐标系下曲线(a,b,n 自定数据)clccleara=10;b=pi/2;n=5;theta=0:pi/100:2*pi;rho=a*cos(b+n*theta);polar(theta,rho)3. 列出求下列空间曲面交线的程序clcclearx=[-5:0.5:5];[X,Y]=meshgrid(x);z1=X.^2-2*Y.^2;z2=X.*2-Y.*3;xlabel('x')ylabel('y')zlabel('z')surf(X,Y,z1)hold onsurf(X,Y,z2)k=find(abs(z1-z2)<0.5);x1=X(k)y1=Y(k)z3=x1.^2-2*y1.^2hold onplot3(x1,y1,z3,'*')⎪⎭⎫ ⎝⎛+⋅=-334sin 234πt e y t ()θρn b a +=cos 2212y x z -=y x z 322-=4、设 ⎥⎦⎤⎢⎣⎡++=)1(sin 35.0cos 2x x x y 把x=0~2π间分为101点,画出以x 为横坐标,y 为纵坐标的曲线,要求有图形标注。
clcclearx=-2*pi:0.1: 2*pi;y=cos(x).*(0.5+sin(x)*3./(1+x.^2));plot(x,y,'b*-');title('绘图');xlabel('x 坐标');ylabel('y 坐标');legend('原函数')gtext('y=cos(x)(0.5+3*sin(x)/(1+x^2))')5、求下列联立方程的解81025695832475412743-=+-+-=-+-=++-=--+w z y x w z x w z y x w z y x clccleara=[3,4,-7,-12;5,-7,4,2;1,0,8,-5;-6,5,-2,10];b=[4,-3,9,-8];c=b/a;x=c(1,1)y=c(1,2)z=c(1,3)w=c(1,4)6. 假设一曲线数据点为x = 0:2:4*pi;y = sin(x).*exp(-x/5);试将x 的间距调成 0.1,采用不同插值方法进行插值,并通过子图的形式将不同插值结果和原始数据点绘制在同一图形窗口。
MATLAB实验练习题(计算机)-南邮-MATLAB-数学实验大作业答案

“MATLAB”练习题要求:抄题、写出操作命令、运行结果,并根据要求,贴上运行图。
1、求230x e x -=的所有根.(先画图后求解)(要求贴图)>> solve('exp(x)—3*x^2',0)ans =—2*lambertw (—1/6*3^(1/2))-2*lambertw(—1,—1/6*3^(1/2))—2*lambertw (1/6*3^(1/2))3、求解下列各题:1)30sin lim x x x x ->->> sym x ;〉> limit((x-sin (x))/x^3)ans =1/62) (10)cos ,x y e x y =求>> sym x;>> diff (exp(x )*cos(x),10)ans =(-32)*exp(x)*sin (x)3)21/20(17x e dx ⎰精确到位有效数字)〉〉 sym x;〉〉 vpa((int(exp(x^2),x,0,1/2)),17)ans =0.544987104183622224)42254x dx x+⎰〉> sym x ;>〉 int (x^4/(25+x^2),x)ans =125*atan (x/5) - 25*x + x^3/35)求由参数方程arctan x y t⎧⎪=⎨=⎪⎩dy dx 与二阶导数22d y dx 。
〉> sym t;>> x=log(sqrt (1+t^2));y=atan(t);〉> diff (y ,t )/diff (x ,t)ans =1/t6)设函数y =f (x )由方程xy +e y = e 所确定,求y ′(x ).>> syms x y ;f=x *y+exp(y )—exp (1);〉> -diff(f,x )/diff (f,y)ans =-y/(x + exp (y))7)0sin 2x e xdx +∞-⎰>〉 syms x ;>〉 y=exp(-x)*sin(2*x );〉> int(y ,0,inf )ans =2/58) 08x =展开(最高次幂为)〉> syms xf=sqrt(1+x);taylor(f,0,9)ans =— (429*x^8)/32768 + (33*x^7)/2048 — (21*x^6)/1024 +(7*x^5)/256 - (5*x^4)/128 + x^3/16 - x^2/8 + x/2 + 19) 1sin (3)(2)x y e y =求〉> syms x y ;>〉 y=exp(sin (1/x));>〉 dy=subs (diff(y,3),x ,2)dy =—0.582610)求变上限函数2x x ⎰对变量x 的导数.>> syms a t ;>〉 diff (int(sqrt(a+t),t,x ,x^2))Warning: Explicit integral could not be found 。
MATLAB课后实验答案

实验一 MATLAB 运算基础1. 先求下列表达式的值,然后显示MATLAB 工作空间的使用情况并保存全部变量。
(1) 0122sin851z e =+(2) 221ln(1)2z x x =++,其中2120.455i x +⎡⎤=⎢⎥-⎣⎦ (3) 0.30.330.3sin(0.3)ln , 3.0, 2.9,,2.9,3.022a a e e az a a --+=++=-- (4) 2242011122123t t z t t t t t ⎧≤<⎪=-≤<⎨⎪-+≤<⎩,其中t =0:0.5:2.5 解: M 文件:z1=2*sin(85*pi/180)/(1+exp(2))x=[2 1+2*i;-.45 5]; z2=1/2*log(x+sqrt(1+x^2)) a=-3.0:0.1:3.0;z3=(exp(0.3.*a)-exp(-0.3.*a))./2.*sin(a+0.3)+log((0.3+a)./2)t=0:0.5:2.5;z4=(t>=0&t<1).*(t.^2)+(t>=1&t<2).*(t.^2-1)+(t>=2&t<3) .*(t.^2-2*t+1)4. 完成下列操作:(1) 求[100,999]之间能被21整除的数的个数。
(2) 建立一个字符串向量,删除其中的大写字母。
解:(1) 结果:m=100:999;n=find(mod(m,21)==0);length(n)ans =43(2). 建立一个字符串向量例如:ch='ABC123d4e56Fg9';则要求结果是:ch='ABC123d4e56Fg9';k=find(ch>='A'&ch<='Z');ch(k)=[]实验二 MATLAB 矩阵分析与处理1. 设有分块矩阵33322322E R A O S ⨯⨯⨯⨯⎡⎤=⎢⎥⎣⎦,其中E 、R 、O 、S 分别为单位矩阵、随机矩阵、零矩阵和对角阵,试通过数值计算验证22E R RS A O S +⎡⎤=⎢⎥⎣⎦。
MATLAB全部实验及答案

MATLAB全部实验及答案实验一、MATLAB基本操作实验内容及步骤1、命令窗口的简单使用(1)简单矩阵的输入(2)求[12+2×(7-4)]÷32的算术运算结果2、有关向量、矩阵或数组的一些运算(1)设A=15;B=20;求C=A+B与c=a+b?(2)设A=[1 2 3;4 5 6;7 8 9],B=[9 8 7;6 5 4;3 2 1];求A*B与A.*B?A*B就是线代里面的矩阵相乘 A.*B是对应位置的元素相乘(3)设a=10,b=20;求i=a/b=0.5与j=a\b=2?(4)设a=[1 -2 3;4 5 -4;5 -6 7]请设计出程序,分别找出小于0的矩阵元素及其位置(单下标、全下标的形式),并将其单下标转换成全下标。
clear,clca=[1 -2 3;4 5 -4;5 -6 7];[x,y]=find(a<0);c=[];for i=1:length(x)c(i,1)=a(x(i),y(i));c(i,2)=x(i);c(i,3)=y(i);c(i,4)=(y(i)-1)*size(a,2)+x(i);endc(5)在MATLAB命令行窗口运行A=[1,2;3,4]+i*[5,6;7,8];看结果如何?如果改成运行A=[1,2;3,4]+i[5,6;7,8],结果又如何?前面那个是虚数矩阵,后面那个出错(6)请写出完成下列计算的指令:a=[1 2 3;3 4 2;5 2 3],求a^2=?,a.^2=?a^2= 22 16 1625 26 2326 24 28a.^2=1 4 99 16 425 4 9(7)有一段指令如下,请思考并说明运行结果及其原因clearX=[1 2;8 9;3 6];X( : ) 转化为列向量(8)使用三元组方法,创建下列稀疏矩阵2 0 8 00 0 0 10 4 0 06 0 0 0方法一:clear,clcdata=[2 8 1 4 6];ir=[1 1 2 3 4 ];jc=[1 3 4 2 1];s=sparse(ir,jc,data,4,4);full(s)方法二:不用三元组法clear,clca=zeros(4,4);a(1,[1,3])=[2,8];a(2,4)=1;a(3,2)=4;a(4,1)=6;a(9) 写出下列指令的运行结果>> A = [ 1 2 3 ]; B = [ 4 5 6 ];>> C = 3.^A>> D = A.^B3、 已知⎪⎭⎫ ⎝⎛+⋅=-334sin 234πt e y t 若需要计算t ∈[-1,1],取间隔为0.01,试计算出相对应的y 值。
MATLAB 课后实验答案

实验一 MATLAB 运算基础1. 先求下列表达式的值,然后显示MATLAB 工作空间的使用情况并保存全部变量。
(1) 0122sin851z e =+ (2) 221ln(1)2z x x =++,其中2120.455i x +⎡⎤=⎢⎥-⎣⎦(3) 0.30.330.3sin(0.3)ln , 3.0, 2.9,,2.9,3.022a a e e a z a a --+=++=--(4) 2242011122123t t z t t t t t ⎧≤<⎪=-≤<⎨⎪-+≤<⎩,其中t =0:0.5:2.5 解: M 文件:z1=2*sin(85*pi/180)/(1+exp(2))x=[2 1+2*i;-.45 5];z2=1/2*log(x+sqrt(1+x^2))a=-3.0:0.1:3.0;z3=(exp(0.3.*a)-exp(-0.3.*a))./2.*sin(a+0.3)+log((0.3+a)./2)t=0:0.5:2.5;z4=(t>=0&t<1).*(t.^2)+(t>=1&t<2).*(t.^2-1)+(t>=2&t<3) .*(t.^2-2*t+1) 运算结果:z1=2*sin(85*pi/180)/(1+exp(2))x=[2 1+2*i;-.45 5];z2=1/2*log(x+sqrt(1+x^2))a=-3.0:0.1:3.0;z3=(exp(0.3.*a)-exp(-0.3.*a))./2.*sin(a+0.3)+log((0.3+a)./2)t=0:0.5:2.5;z4=(t>=0&t<1).*(t.^2)+(t>=1&t<2).*(t.^2-1)+(t>=2&t<3) .*(t.^2-2*t+1)z1 =0.2375z2 =0.7114 - 0.0253i 0.8968 + 0.3658i0.2139 + 0.9343i 1.1541 - 0.0044iz3 =Columns 1 through 40.7388 + 3.1416i 0.7696 + 3.1416i 0.7871 + 3.1416i 0.7913 + 3.1416iColumns 5 through 80.7822 + 3.1416i 0.7602 + 3.1416i 0.7254 + 3.1416i 0.6784 + 3.1416iColumns 9 through 120.6196 + 3.1416i 0.5496 + 3.1416i 0.4688 + 3.1416i 0.3780 + 3.1416iColumns 13 through 160.2775 + 3.1416i 0.1680 + 3.1416i 0.0497 + 3.1416i -0.0771 + 3.1416iColumns 17 through 20-0.2124 + 3.1416i -0.3566 + 3.1416i -0.5104 + 3.1416i -0.6752 + 3.1416iColumns 21 through 24-0.8536 + 3.1416i -1.0497 + 3.1416i -1.2701 + 3.1416i -1.5271 + 3.1416iColumns 25 through 28-1.8436 + 3.1416i -2.2727 + 3.1416i -2.9837 + 3.1416i -37.0245 Columns 29 through 32-3.0017 -2.3085 -1.8971 -1.5978Columns 33 through 36-1.3575 -1.1531 -0.9723 -0.8083Columns 37 through 40-0.6567 -0.5151 -0.3819 -0.2561Columns 41 through 44-0.1374 -0.0255 0.0792 0.1766Columns 45 through 480.2663 0.3478 0.4206 0.4841Columns 49 through 520.5379 0.5815 0.6145 0.6366Columns 53 through 560.6474 0.6470 0.6351 0.6119Columns 57 through 600.5777 0.5327 0.47740.4126Column 610.3388z4 =0 0.2500 0 1.2500 1.0000 2.2500 2. 已知:求下列表达式的值:(1) A+6*B和A-B+I(其中I为单位矩阵)(2) A*B和A.*B(3) A^3和A.^3(4) A/B及B\A(5) [A,B]和[A([1,3],:);B^2]解:M 文件:A=[12 34 -4;34 7 87;3 65 7];B=[1 3 -1;2 0 3;3 -2 7]; A+6.*BA-B+eye(3)A*BA.*BA^3A.^3A/BB\A[A,B][A([1,3],:);B^2]运算结果:A=[12 34 -4;34 7 87;3 65 7];B=[1 3 -1;2 0 3;3 -2 7]; A+6.*BA-B+eye(3)A*BA.*BA^3A.^3A/BB\A[A,B][A([1,3],:);B^2]ans =18 52 -1046 7 10521 53 49ans =12 31 -332 8 840 67 1ans =68 44 62309 -72 596154 -5 241ans =12 102 468 0 2619 -130 49ans =37226 233824 48604247370 149188 60076678688 454142 118820 ans =1728 39304 -6439304 343 65850327 274625 343 ans =16.4000 -13.6000 7.600035.8000 -76.2000 50.200067.0000 -134.0000 68.0000109.4000 -131.2000 322.8000-53.0000 85.0000 -171.0000-61.6000 89.8000 -186.2000ans =12 34 -4 1 3 -134 7 87 2 0 33 65 7 3 -2 7ans =12 34 -43 65 74 5 111 0 1920 -5 403. 设有矩阵A和B(1) 求它们的乘积C。
Matlab实验习题集答案.docx

1:用以上两种形式计算56+sin^ + e 3算术运算结果。
» 5A 6+sin(pi)+exp(3)ans =1.5645e+004» x=5A 6+sin(pi)+exp(3)»A=[1 2;1 2];» B=[l 1;2 2];» C=(A<B)&(A==B)C =0 0 03:对数d = 5 + sin7用五位定点、十五位定点以及有理数形式表示出来。
»a=5+sin(7); format short,a 5.6570» a=5+sin(7);» format long,aa =» A=[l 2 3;4 15 60;7 8 9]A =12 3 415 60 7 8 9 n i n i i i5:输入矩阵U 1 1丿。
%利用MATLAB 命令直接输入矩阵OneMatrix=ones(33J)OneMatrix =8 10 9 101 1 11 1 11 1 1‘0 0 0 0 0、c养」0 0 0 0 0,» OneMatrix=ones(2,5;l);ZeroMatrix=zeros(size(OneMatrix)) ZeroMatrix =0 0 0 0 00 0 0 0 07:生成3阶魔方矩阵。
» magic(3) ans =8 1 63 5 749 28:操作符冒号”:”的应用a)步长为1的等差数列b)步长为2的等差数列c)步长为-2的等差、递减数列» 0:1:10 ans =» 0:2:10 ans =» 10:(-2):0C)取矩阵A 的A (2), A (3), A (4)d)取矩阵A的第一行e)取矩阵A的第三列D把矩阵A的第一行第三列元素赋值给变吊: g)把矩阵A的第二行第列元素修改为100» A=[l 23 56;sin(3) 7 9;log(2) 6 1]» A(2,3)fl 3 100) c 二,利用A 与B 生成矩阵V 6 9 0 A ans = ans =23 » A ⑵,A ⑶,A(4)ans =0.141120008059867ans =0.693147180559945 ans =23»A(1,:)ans =1 23 56» A(:,3)ans =5691» x=A(l,3)56 » A(2,1)=100L0000 100.0000 0.6931 23.0000 7.0000 6.000056.00009.00001.00001 3 A =6 9 io :己知矩阵 L° R _(A 0) D = (A B)曲=〔0 B 丿»A=[13;6 9];B=[1 5;0 8]; » C=[AB(:,1)];» C(l,3)=100c =1 3 1006 9 0» A=[l 3;6 9];B=[1 5;0 8];D=[A B]D =公比为10°" » A=[l 23 56;sin(3) 7 9;log(2) 6 1];»A(1,:)=[]A =0.1411 7.0000 9.00000.6931 6.0000 1.000012: 1 inspace(0, 1, 6) / %给出区间[0, 1]的6个等分点数据logspace(0, 1,6) / %给出区间的6个等比点数据,»linspace(0J,6) ans =» a=l:5 b=3:2:ll c=a>*a a = 1 2b = 3 5c = 1 4» a.*bans = 3 103 4 57 9 119 16 2521 36 55■兀 . sm(k ——),k = ±2, ±1,014:计算 2 的值。
MATLAB数学实验答案(全)

第一次练习教学要求:熟练掌握Matlab 软件的基本命令和操作,会作二维、三维几何图形,能够用Matlab 软件解决微积分、线性代数与解析几何中的计算问题。
补充命令vpa(x,n) 显示x 的n 位有效数字,教材102页fplot(‘f(x)’,[a,b]) 函数作图命令,画出f(x)在区间[a,b]上的图形 在下面的题目中m 为你的学号的后3位(1-9班)或4位(10班以上) 1.1 计算30sin limx mx mx x →-与3sin limx mx mxx →∞- syms xlimit((902*x-sin(902*x))/x^3) ans =366935404/3limit((902*x-sin(902*x))/x^3,inf)//inf 的意思 ans = 0 1.2 cos1000xmxy e =,求''y syms xdiff(exp(x)*cos(902*x/1000),2)//diff 及其后的2的意思 ans =(46599*cos((451*x)/500)*exp(x))/250000 - (451*sin((451*x)/500)*exp(x))/250 1.3 计算2211x y edxdy +⎰⎰dblquad(@(x,y) exp(x.^2+y.^2),0,1,0,1)//双重积分 ans = 2.13941.4 计算4224x dx m x +⎰ syms xint(x^4/(902^2+4*x^2))//不定积分 ans =(91733851*atan(x/451))/4 - (203401*x)/4 + x^3/12 1.5 (10)cos ,x y e mx y =求//高阶导数syms xdiff(exp(x)*cos(902*x),10) ans =-356485076957717053044344387763*cos(902*x)*exp(x)-3952323024277642494822005884*sin(902*x)*exp(x)1.6 0x =的泰勒展式(最高次幂为4).syms xtaylor(sqrt(902/1000+x),5,x)//泰勒展式 ans =-(9765625*451^(1/2)*500^(1/2)*x^4)/82743933602 +(15625*451^(1/2)*500^(1/2)*x^3)/91733851-(125*451^(1/2)*500^(1/2)*x^2)/406802 + (451^(1/2)*500^(1/2)*x)/902 +(451^(1/2)*500^(1/2))/500 1.7 Fibonacci 数列{}n x 的定义是121,1x x ==12,(3,4,)n n n x x x n --=+=用循环语句编程给出该数列的前20项(要求将结果用向量的形式给出)。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
1、求以下变量的值,并在MATLAB中验证。
( 1 ) a = 1 : 2 : 5a =1 3 5( 2 ) b = [ a' , a' , a' ;a ]b =1 1 13 3 35 5 51 3 5( 3 ) c = a + b ( 2 , : )c =4 6 82、下列运算是否合法,为什么?如合法,结果是多少?>> result2=a*bError using *Inner matrix dimensions must agree.>> result3=a+bresult3 =3 6 25 8 11>> result4=b*dresult4 =31 22 2240 49 13>> result5=[b;c']*dresult5 =31 22 2240 49 13-5 -8 7>> result6=a.*bresult6 =2 8 -34 15 30>> result7=a./bresult7 =0.5000 0.5000 -3.00004.0000 1.6667 1.2000>> result8=a.cAttempt to reference field of non-structure array.>> result9=a.\bresult9 =2.0000 2.0000 -0.33330.2500 0.6000 0.8333>> result10=a.^2result10 =1 4 916 25 36>> result11=2.^aresult11 =2 4 816 32 643、用MATLAB求解下面的的方程组。
(1)⎥⎥⎥⎥⎦⎤⎢⎢⎢⎢⎣⎡-=⎥⎥⎥⎥⎦⎤⎢⎢⎢⎢⎣⎡⨯⎥⎥⎥⎥⎦⎤⎢⎢⎢⎢⎣⎡----17413231511222315921274321xxxx>> A=[7 2 1 -2;9 15 3 -2;-2 -2 11 5;1 3 2 13] >> B=[4 7 -1 0]>> B=B'>> x=inv(A)*B(2)⎪⎪⎩⎪⎪⎨⎧=-++=--=-++=++56533332821wzyxwyxwzyxzyx>> A1=[1 1 1 0;1 2 1 -1;2 -1 0 -3;3 3 5 -6]>> B2=[1;8;3;5]>> x2=inv(A1)*B24、已知⎥⎥⎥⎥⎦⎤⎢⎢⎢⎢⎣⎡----=1323151122231592127A(1)求矩阵A 的秩(rank)(2)求矩阵A 的行列式(determinant) (3)求矩阵A 的逆(inverse)(4)求矩阵A 的特征值及特征向量(eigenvalue and eigenvector) >> A3=[7 2 1 -2;9 15 3 -2;-2 -2 11 5;1 3 2 13] >> r=rank(A3) >> b=inv(A3) >> a=det(A3) >> [V,D]=eig(A3) 5、109910101022222++++==---=∑Λn n y ,求y=?(运行format long g 命令后,查看y 的值) m1=0;for m=-10:10 m1=m1+2^m; end m1 m1 =2047.99902343756、求分段函数的值。
⎪⎩⎪⎨⎧≥--<≤+-<-+=51506506222x x x x x x x x x y用if 语句实现,算出下列表中x 对应的y值。
x=input('enter x='); if x<0y=x^2+x -6; elseif x>=0&&x<5 y=x^2-5*x+6; elsey=x^2-x -1; end y7、分别用if 和switch 语句实现,将百分制成绩转换为成绩等级A 、B 、C 、D 、E 。
其中90~100分为A ,80~89分为B ,70~79分为C ,60~69分为D ,60分以下为E 。
对超出百分制范围的成绩,给出错误提示信息。
if 结构程序:x=input('please enter score='); if x>=90&&x<=100 disp('A')elseif x<90&&x>=80 disp('B')elseif x<80&&x>=70 disp('C') elseif x<70&&x>=60 disp('D')elseif x<60&&x>=0 disp('E') elsedisp('error') endswitch 结构程序:x=input('please enter score='); switch fix(x/10) case{10,9} if x>100disp('error') elsedisp('A') end case{8} disp('B') case{7} disp('C') case{6} disp('D')case{0,1,2,3,4,5} disp('E') otherwise disp('error') end8、思考题设计程序,完成成两位数的加、减、乘、除四则运算,即产生两个两位随机整数,再输入一个运算符号,做相应的运算,并显示相应的结果。
x=input('请输入运算符')a=num2str(floor(rand(1)*90+10));ab=num2str(floor(rand(1)*90+10));bif x=='+'y=a+b;elseif x=='-'y=a-b;elseif x=='*'y=a*b;elseif x=='/'y=a/b;elsedisp('error')endy9、启动MATLAB后,点击File|New|M-File,启动MATLAB的程序编辑及调试器(Editor/Debugger),编辑以下程序,点击File|Save保存程序,注意文件名最好用英文字符。
点击Debug|Run运行程序,在命令窗口查看运行结果,程序如有错误则改正。
注:数论中一个有趣的题目:任意一个正整数,若为偶数,则用2除之,若为奇数,则与3相乘再加上1。
重复此过程,最终得到的结果为1。
n=input('请输入n值:');a=n;while n>1if rem(n,2)==0n=n/2;elsen=3*n+1;enda=[a,n];enda 10、根据2222213121116nx++++=Λ,当n分别取100、1000、10000时,求x的值分别是多少?a=input('请输入数值')n=0;for m=1:100n=n+1/(m*m);endn=6*n;x=sqrt(n);x11、编程求满足∑=>mkk1100002的最小m值。
sum=0;m=2;a=1;while afor i=1:msum=sum+2^i;if sum>10000a=0;endendm=m+1;endm12、思考题已知y和t的函数关系:!20/...!3/!2/1)(2032ttttty+++++=求下面表格中与t对应的y值t=input('请输入t值:')sum=0;for i=1:20b=factorial(i);sum=sum+t^i/b; endsum=sum+1; sum13、编写一个函数,计算下面函数的值,给出标量x 的值,调用该函数后,返回y 的值。
function [y]=myfun1(x)选择一些数据测试你编写的函数。
function [y]=myfun1(x) if x<=0 y=sin(x);elseif x>0&x<=3 y=x;elseif x>3 y=-x+6; end14、编写一个函数求向量x 中元素的平均值、最大值、最小值、均方根值。
function[m_x,max_x,min_x,rms_x]=myfun2(x)方均根值(Root Mean Square)的计算公式为:∑==Ni i x Nrms 121用下面数据测试你写的函数:(1)x=sin(0:0.01:6*pi) (2)x=rand(1,200),得到的x 为200个(0,1)之间均匀分布的随机数。
function[m_x,max_x,min_x,rms_x]=myfun2(x) %求平均值sum_x=sum(x); %向量元素求和[m,n]=size(x); %最好用n=length(x);m_x=sum_x/n;%求最大值 采用逐个比较方式 if x(1)>x(2) max_x=x(1); elsemax_x=x(2); endfor k=3:nif max_x<x(k) max_x=x(k); elsemax_x=max_x; %可省略 end end%求最小值 if x(1)<x(2) min_x=x(1); elsemin_x=x(2); endfor k=3:nif min_x>x(k) min_x=x(k); elsemin_x=min_x; %可省略 end end%求均方根值 sum_x2=0; for k=1:nsum_x2=sum_x2+x(k).^2; rms_x=sqrt(sum_x2/n); end m_x; max_x; min_x;rms_x; %按照函数值行参顺序输出结果15、编写一个函数,给出一个向量],,[21n x x x x Λ=,生成如下范德蒙矩阵。
function [v]=myvander(x)⎪⎩⎪⎨⎧>+-≤<≤=3,630,0,sin )(x x x x x x x y⎥⎥⎥⎥⎥⎥⎦⎤⎢⎢⎢⎢⎢⎢⎣⎡---112112222121111n n n n n n x x x x x x x x x ΛΛΛΛΛΛΛΛ例如:>>v=myvander([2 3 4 5]) 得v=⎥⎥⎥⎥⎦⎤⎢⎢⎢⎢⎣⎡1256427825169454321111function [v]=myvander(x) v1=vander(x); %生成范德蒙矩阵 v2=v1';v=flipud(v2); %实现矩阵上下翻转16、思考题编写程序,用如下迭代公式求a,a 的值分别为:3,17,113。