MATLAB实验上机易错题汇总
Matlab上机练习题及答案
Matlab 上机练习题及答案---------------------------------------------------------------------1、矩阵Y=⎥⎥⎥⎥⎦⎤⎢⎢⎢⎢⎣⎡3472123100451150425,给出元素1的全下标和单下标,并用函数练习全下标和单下标的转换,求出元素100的存储位置。
取出子矩阵⎥⎦⎤⎢⎣⎡21301,并求该矩阵的维数。
解:命令为:Y=[5,2,4;0,15,1;45,100,23;21,47,3]Y(2,3)Y(10)sub2ind([43],2,3)[i,j]=ind2sub([43],10)find(Y==100)sub2ind([43],3,2)B=Y(2:2:4,3:-2:1)或B=Y([24],[31])[m n]=size(Y)---------------------------------------------------------------------2、已知矩阵A=[10-1;241;-205],B=[0-10;213;112]求2A+B 、A 2-3B 、A*B 、B*A 、A.*B ,A/B 、A\B 解:命令为:A=[10-1;241;-205]B=[0-10;213;112]E=2*A+B F=A^2-3*B G=A*B H=B*A I=A.*B J=A/B K=A\B---------------------------------------------------------------------3、利用函数产生3*4阶单位矩阵和全部元素都为8的4*4阶矩阵,并计算两者的乘积。
解:命令为:A=eye(3,4)B=8*ones(4)C=A*B---------------------------------------------------------------------4、创建矩阵a=⎥⎥⎥⎥⎦⎤⎢⎢⎢⎢⎣⎡------7023021.5003.120498601,取出其前两列构成的矩阵b ,取出前两行构成矩阵c ,转置矩阵b构成矩阵d ,计算a*b 、c<d ,c&d,c|d ,~c|~d 解:命令为:a=[-1,0,-6,8;-9,4,0,12.3;0,0,5.1,-2;0,-23,0,-7]b=a(:,[12])c=a([12],:)d=b’e=a*b f=c<d g=c&d h=c|d i=~c|~d---------------------------------------------------------------------5、求!201∑=n n 解:命令文件为sum=0;s=1;for n=1:20s=n*s;sum=sum+s;end sum---------------------------------------------------------------------6、求a aa aaa aa a S n ++++=得值,其中a 是一个数字,由键盘输入,表达式中位数最多项a 的个数,也由键盘输入。
MATLAB上机实验练习题及答案
MATLAB上机实验练习题及答案09级MATLAB上机实验练习题1、给出一个系数矩阵A[2 3 4;5 4 1;1 3 2],U=[1 2 3],求出线性方程组的一个精确解。
2、给出两组数据x=[0 0.3 0.8 1.1 1.6 2.3]’y=[0.82 0.72 0.63 0.60 0.55 0.50]’,我们可以简单的认为这组数据在一条衰减的指数函数曲线上,y=C1+C2e-t通过曲线拟合求出这条衰减曲线的表达式,并且在图形窗口画出这条曲线,已知的点用*表示。
3、解线性方程4、通过测量得到一组数据:5、已知一组测量值6、从某一个过程中通过测量得到:分别采用多项式和指数函数进行曲线拟合。
7、将一个窗口分成四个子窗口,分别用四种方法做出多峰函数的表面图(原始数据法,临近插值法,双线性插值法,二重三次方插值法)8、在同一窗口使用函数作图的方法绘出正弦、余弦、双曲正弦、双曲余弦。
分别使用不同的颜色,线形和标识符。
9、下面的矩阵X表示三种产品五年内的销售额,用函数pie显示每种产品在五年内的销售额占总销售额的比例,并分离第三种产品的切片。
X= 19.3 22.1 51.634.2 70.3 82.4 61.4 82.9 90.8 50.5 54.9 59.1 29.4 36.3 47.010、对应时间矢量t ,测得一组矢量y采用一个带有线性参数的指数函数进行拟合,y=a 0+a 1e -t +a 2te -t ,利用回归方法求出拟合函数,并画出拟合曲线,已知点用圆点表示。
11、请创建如图所示的结构数组(9分)12、创建如图所示的元胞数组。
(9分)13、某钢材厂从1990年到2010年的产量如下表所示,请利用三次样条插值的方法计算1999年该钢材厂的产量,并画出曲线,已知数据用‘*’表示。
要求写出达到题目要求的MATLAB 操作过程,不要求计算结果。
14、在一次化学动力学实验中,在某温度下乙醇溶液中,两种化合物反应的产物浓度与反应时间关系的原始数据如下,请对这组数据进行三次多项式拟合,并画出拟合曲线,已知数据如下。
MATLAB上机题汇总(较难题,抽1题)合肥学院
1.根据下面的方程绘制图形,y=cos(x)+x ,x 取值-pi-pi ,然后用多项式拟合函数进行拟合。
2.要求编写一个函数文件,将一个给定图片的所有颜色都变深(变深多少自己斟酌),其中黑色为0,白色为2553.根据下面的方程绘制图形,y=cos(2x)+sin(2x),然后用5次多项式进行拟合。
4.要求编写一个M 函数,完成下列函数的求解:y =sin (x );y =sin (x +pi );y =sin (x +pi /3);y =sin (x +pi/2)自变量x 的变化范围从-pi 到pi ,要求四个图像画在同一个图形窗体中。
5.M 文件的编写计算分段函数 ⎪⎩⎪⎨⎧≠+=+++=10101)1cos(2x x x x x x x y6.函数文件的编写编写函数文件,求半径为r 的圆的周长和面积。
7.题目见教材p85,其中的数据可以给出文本文件或者由下面的式子表达a=[10*rand(24,1)+15,1*rand(24,1)+30,2*rand(24,1)+45],这是24行3列的一个矩阵,第一列表示温度,第二列表示湿度,第三列表示气压。
要求如下:(1) 将温度数据取出(2) 找出一天中最高温度(3) 按温度进行从小到大(默认)排序(4) 求出最高温度的时刻(5) 按温度进行从大到小排序8.已知Fibonacci (斐波那)数列由式子⋯⋯=+=--4,3,21k a a a k k k 可以生成,其中初值为121==a a ,试编写出生成某项Fibonacci 数值的MATLAB 函数,并求20a 的值。
9.编写M 函数,判断给定的三边能够构成一个三角形?并求其周长10.给定一个声音文件,如1.wav ,引入这段声音,将音量改为2倍之后,再保存成2.wav11.所表示的三维曲面,x,y的取值范围是[-8,8]12.绘制y=sin(2x)的曲线(x从0到2π),采用指令方式在图形中:线条颜色为红色;线型为虚线添加网格添加标题“正弦曲线”添加图例“y=sin(2x)”添加坐标轴标签“x或y”13.某一电力系统信号包含四种类型的信号分量,分别是:基频正弦分量y1=10 sin(2πf1t),其中f1=50 Hz;3次谐波分量y2=2 sin(2πf2t+j),其中f2=150 Hz,j=0.25π;直流分量y3=2;随机扰动分量。
Matlab上机实验题及参考解答
Matlab上机实验题及参考解答目录实验一Matlab初步实验 (2)一matlab基本功能介绍 (2)二Matlab扩展功能 (2)三练习 (2)四练习题参考解答 (3)实验二概率模型实验 (5)一复习 (5)二事件的响应 (5)三Matlab中随机数字的生成与处理 (5)四练习 (5)五练习题参考解答 (5)实验三插值与拟合 (7)实验四线性规划与非线性规划 (8)4.1 实验目的 (8)4.2 实验内容 (9)4.3 综合练习 (10)4.4 课外作业 (11)实验五数值计算 (12)5.1 实验目的 (12)5.2 实验内容 (12)4.3 综合练习 (15)4.4 课外作业 (15)实验六计算机图像处理 (16)6.1 实验目的 (16)6.2 实验内容 (16)6.3 综合练习 (17)6.4 课外作业 (19)实验七综合练习 (19)7.1 实验目的 (19)7.2 实验内容 (19)7.3 综合练习 (20)7.4 课外作业 (21)实验一 Matlab 初步实验 一 matlab 基本功能介绍1 编程环境2语法规范:for … end; if …else if …end; 3 矩阵运算 4 图形绘制二 Matlab 扩展功能1 编程练习:(1) 绘出序列kk x x r r 0(1),0.2083=+=;(2) 绘出曲线rtx t x e t 0(),0=>2 扩展功能(1) 矩阵中全部数据、部分数据的截取、更改; (2) 矩阵的初始化与赋值如:A=zeros(5,5); A(2:2:)=[1,2 3 4 5] 3 微积分基础(见实验4) 符号计算三 练习(课上编程完成下列练习,课后上机验证) 1 求和S=1+2+3+…+100; 2 求和e 1111!2!10!1...=++++3求和S 1112310!1...=++++4设A 234576138⎡⎤⎢⎥=⎢⎥⎢⎥⎣⎦, 求A 的逆、特征值和特征向量;验证Ax=λx 5 画函数图()011mrtm x x t x e x -=⎛⎫+- ⎪⎝⎭6 展开 (x-1)(x-2)…(x-100)7 因式分解 x 8—y 8; 因数分解200520068 求极限312lim +∞→⎪⎭⎫⎝⎛++n n n n9 )](sin[cos 22x x y += 求dxdy10 求积分x xdx 10ln ⎰11 求积分3⎰并且画出所求的平面区域12 设x+2y=1, 2x+3y=6, y=2x 2, 画出各个方程图形,求出曲线交点.四 练习题参考解答%MatlabTrain1.m clear all % 2nd e=1; temp=1; for I=1:1:10temp=temp*I; e=e+1/temp; end e%%%%%%%%%%% clear all % 3nd S=0; temp=1;for I=1:1:100temp=temp*I; endfor J=1:1:temp S=S+1/J; end S%%%%%%%%%%%%%% clear all % 11ndx=linspace(0,4); y=1./sqrt(x.^5+1); plot(x,y) for t=1:0.1:3yt=1./sqrt(t.^5+1);hold online([t,t],[0,yt]);end%fill(t,yt,'b') %%%%%%%%%%%%% clear all% 12ndx=linspace(-2,2);y=[0.5-0.5*x; 2-2/3.*x; 2*x.^2]; plot(x,y)grid实验二概率模型实验一复习1 小结上次编程练习中存在的问题,讲述部分习题答案2 画图命令介绍:line二事件的响应(1) 获取鼠标的位置%MatlabTrain2.mclear all% 鼠标响应p=ginput(3)plot(p(:,1),p(:,2),'r*')(2) 键盘输入相应t=input('How many apples? t=');m=t+3三Matlab中随机数字的生成与处理1 随机数的生成2 产生随机数字3 产生某区间的整数4 生日模拟问题的Montecaro法设计技术、思路学生尝试编程四练习(1) 编程验证人数在不同年龄段的生日的概率计算(2) 编程实现游戏”聪明伶俐100分”(3) 编程实现两家电影院的座位数问题(4) 编程实现某图形面积的计算五练习题参考解答(1) 生日问题程序示例:%birthPro.mn=0;nStudents=30;for I=1:1000 %how many times testy=0;x=1+floor(365*rand(1,nStudents));%get nStudents random numbersfor J=1:nStudents-1for K=J+1:nStudentsif x(J)==x(K)y=1;break;endendendn=n+y;%count, n times of that there are two people's dirthday in the same dayendfreq=n/I % caculating the frequently(2) 编程实现游戏”聪明伶俐100分”参考答案%MatlabTrain2.mclear all% 鼠标响应x=floor(10*rand(1,4))t=input('填入四个数字[n1 n2 n3 n4]=');flag=0;A=0;B=0;for I=1:1:8flag=flag+1;A=0;B=0;if t==xswitch flagcase 1disp('聪明绝顶!');case 2disp('聪明!');case 3disp('有点聪明!');case 4disp('还可以!');case 5disp('聪明伶俐100分!');case 6disp('聪明伶俐90分!');case 7disp('聪明伶俐85分!');case 8disp('聪明伶俐80分!');otherwisedisp('赫赫!');endbreak;endfor J=1:1:4for K=1:1:4if x(J)==t(K) & J==KA=A+1;else if x(J)==t(K) & J~=KB=B+1;endendendends='AABB';s(1)=INT2STR(A);s(3)=INT2STR(B);disp(s);t=input('不重复填入四个数字[n1 n2 n3 n4]=');endif flag>0disp('太烂了! 正确答案是:');xend实验三插值与拟合一复习讲述聪明伶俐100分的编程中的问题二插值三拟合课堂练习2 某之股票价格from 2003 09 01 to 2004 01 02,试进行插值、拟合%TimerS.m%from 2003 09 01 to 2003 01 02clear all;dataST=[15.09 14.7514.95 14.722.88 21.8619.82 19.09];plot(dataST)四课外练习112)进行多项式拟合,求出拟合多项式,并求出多项式在t=4, 5处的值.实验四线性规划与非线性规划4.1 实验目的1 用Matlab求解线性规划2 用Matlab求解非线性规划4.2 实验内容4.2.1 线性规划求解实用格式:x=lp(c, A, b, xLB,xUB,x0,nEq)可以求解下列线性规划模型:min f=c’xs.t. Ax=<=b(其中前nEq个约束为等式约束,即等式约束的个数,其余是不等式约束<=) xLB<=x<=xUB函数中x0参数是算法迭代的初始点,任意取值例1 求解下列线性规划1)123123123123min2..360210200,1,2,3jz x x xs t x x xx x xx x xx j=--+⎧⎪++≤⎪⎪-+≤⎨⎪+-≤⎪≥=⎪⎩,2)1235635623416367min..3621060,1,,7jz x x x x xs t x x xx x xx xx x xx j=-++-⎧⎪++=⎪⎪+-=⎪⎨-+=⎪⎪++=⎪≥=⎪⎩例1求解示例c=[-2 -1 1]';%book page 72 Number 16-1A=[3 1 1;1 -1 2;1 1 -1];b=[60 10 20]';xlb=[0 0 0]';xub=[inf inf inf]';x0=[0 0 0]'; x=lp(c,A,b,xlb,xub,x0,0)% x=(15 5 0)'例2 求解示例c2=[1 -1 1 0 1 -1 0]';%book page 72 Number 16-3A2=[0 0 3 0 1 1 0;...0 1 2 -1 0 0 0;...-1 0 0 0 0 1 0;...0 0 1 0 0 1 1];b2=[6 10 0 6]';xlb2=[0 0 0 0 0 0 0]';xub2=[inf inf inf inf inf inf inf]';x02=[0 0 0 0 0 0 0]';x2=lp(c2,A2,b2,xlb2,xub2,x02,4)% unbounded4.2.2 非线性规划1)命令格式1:[X, OPTIONS]=constr(‘FUN’, X, OPTIONS,VLB,VUB)2)命令格式2:X=FMINCON(FUN,X0,A,B,Aeq,Beq)% minimizes FUN subject to the linear equalities% Aeq*X = Beq as well as A*X <= B. (Set A=[] and B=[] if no inequalities exist.)例2 求解非线性规划y x x x x s t x3211221min22 ..1=++-≤-求解示例%unconop.mfunction y=unconop(x)y=x(1).^3+2*x(1).*x(2)+2*x(2).^2;%book page 148 ex.7-1 后建立调用函数xx=fmincon('unconop',[0 0]',[-1 0],-1,[],[])%book page 148 ex.7-1 4.3 综合练习学生独立编写程序,求解一个含有2个变量的线性规划问题,要求:1)编写程序,把可行域画上阴影;2)求出最优解,在可行域上标出最优解;3)求出基本解,并在上图中表示出来;4)求出基本可行解,观察单纯形方法迭代时,顶点的变化.可行域画图与表出阴影示例:syms x y[u(1),v(1)]=solve('y=x+2','y=2*x');%求出交点坐标[u(2),v(2)]=solve('y=-x+2','y=2*x');[u(3),v(3)]=solve('y=x+2','y=-x+2');x=linspace(0,3,5); %直线作图y=[2*x;-x+2;x+2];line(x,y); gridpatch(double(u),double(v),'b'); 运行结果:4.4 课外作业1 求解线性规划131223min ..250.530,1,2,3i x x s t x x x x x i +⎧⎪+≤⎪⎨+=⎪⎪≥=⎩ (1) 求解线性规划;x *=()(2) 目标函数中c 1由1变为(-1.25)时求最优解;(3) 目标函数中c 1由1变为(-1.25),c 3由1变为2时求最优解;(4) 约束条件中53b ⎛⎫= ⎪⎝⎭变为21b -⎛⎫'= ⎪⎝⎭时,求解;(5) 约束条件中53b ⎛⎫= ⎪⎝⎭变为23b ⎛⎫'= ⎪⎝⎭时,求解[刁在筠,运筹学(第二版),高等教育出版社,2004,01 p74第20题]2 求解非线性规划y x x x x x x x 3221122233min 2223=++++ 注:无约束非线性规划问题, 命令:fminunc子函数% unconop.mfunction y=unconop(x)y=x(1).^2+2*x(1).*x(2)+2*x(2).^2+2*x(2).*x(3)+3*x(3).^2;%book page 148 ex.7-1 主函数:xx=fminunc('unconop',[0.1 0.1 1]')思考:绘出两个变量的线性规划问题的可行域、标出可行的整数解和求出可行解;演示单纯形方法的迭代过程,如j z x x s t x x x x x j 121212min 2..360200,1,2=--⎧⎪+≤⎪⎪+≤⎨⎪⎪≥=⎪⎩实验五 数值计算5.1 实验目的1 掌握代数数值计算2 掌握常微分方程数值计算5.2 实验内容5.2.1 关于多项式设多项式1110()n n n n p x a x a x a x a --=++++表示为110[,,,,]n n p a a a a -=1)求多项式的根 roots(p) %求出p(x)=0的解。
matlab上机练习题答案(可编辑修改word版)
a ⎣ ⎦ 1. 计算 a = 5⎦ >> a=[6 9 3;2 7 5]; >> b=[2 4 1;4 6 8]; >> a.*b ans =⎣4 8⎦>> d=deconv([3 13 6 8],[1 4]) d =312⎡2 4 7 4⎤⎡8⎤1236 36 求欠定方程组⎢9 3 5 6⎥ x = ⎢5⎥ 的最小范数解84240⎡4 9 2⎤⎡37⎤⎣ >> a=[2 4 7 4;9 3 5 6]; >> b=[8 5]'; ⎦ ⎣ ⎦2. 对于 AX = B ,如果 A = ⎢7 6 4⎥ , B = ⎢26⎥ ,求解 X 。
>> x=pinv(a)*b⎢ ⎥ ⎢ ⎥x =>> A=[4 9 2;7 6 4;3 5 7]; >> B=[37 26 28]’; >> X=A\B X =⎢⎣3 5 7⎥⎦ ⎢⎣28⎥⎦-0.2151 0.4459 0.7949 0.27077 用符号函数法求解方程 a t 2+b*t +c=0-0.5118 >> r=solve('a*t^2+b*t+c=0','t') 4.0427 r =1.3318[ 1/2/a*(-b+(b^2-4*a*c)^(1/2))] ⎡1 2 5 ⎤ ⎡8 - 7 4⎤ [ 1/2/a*(-b-(b^2-4*a*c)^(1/2))]3. a = ⎢3 6 - 4⎥ , b = ⎢3 6 2⎥ ,观察 a 与 b 之间的⎣ ⎦ ⎣ ⎦⎡a 11 a 12 ⎤六种关系运算的结果 >> a=[1 2 3;4 5 6];8 求矩阵 A = ⎢ ⎣ 21 ⎥ 的行列式值、逆和特征根a 22 ⎦>> b=[8 –7 4;3 6 2];>> syms a11 a12 a21 a22;>> a>b >> A=[a11,a12;a21,a22] ans =>> AD=det(A) % 行列式 0 1 0 >> AI=inv(A) % 逆 11>> AE=eig(A) % 特征值 >> a>=b ans =0 1 0 1 01>> a<b ans =1 0 1 0 1>> a<=b ans =1 0 1 010 A = [ a11, a12][ a21, a22] AD =a11*a22-a12*a21 AI =[ -a22/(-a11*a22+a12*a21), a12/(-a11*a22+a12*a21)] [ a21/(-a11*a22+a12*a21), -a11/(-a11*a22+a12*a21)] AE = [1/2*a11+1/2*a22+1/2*(a11^2- 2*a11*a22+a22^2+4*a12*a21)^(1/2)] [1/2*a11+1/2*a22-1/2*(a11^2->> a==b2*a11*a22+a22^2+4*a12*a21)^(1/2)] ans =9 因式分解: x 4 - 5x 3 + 5x 2 + 5x - 60 0 0 >> syms x;0 00 >> f=x^4-5*x^3+5*x^2+5*x-6; >> a~=b ans =>> factor(f) ans =(x-1)*(x-2)*(x-3)*(x+1)4 计算多项式乘法(x 2+2x +2)(x 2+5x +4) ⎡10 f = ⎢ x 21 x ⎤⎥ ,用符号微分求 df/dx 。
MATLAB上机练习一参考解答
上机练习一参考解答一、实验目的1、 熟悉Matlab 编程2、 体会数学上恒等,算法上不一定恒等二、实验内容1. Using the Taylor polynomial of degree nine and three-digit rounding arithmetic to find an approximationto 5-e by each of the following methods.(A) ∑=--≈905!)5(n n n e , (B) ∑=-≈=9055!5/11n nn e e An approximate value of 5-e correct to three digits is 31074.6-⨯. Which formula, (A) or (B), gives the most accuracy, and why?1) 算法基础利用x e 的Taylor 公式00!!n nk x n n x x e n n ∞===≈∑∑,x -∞<<+∞ (1)及001/1/1/!!n nk x x n n x x e e n n ∞-====≈∑∑,x -∞<<+∞, (2)其中k 是根据精度要求给定的一个参数。
在本题中将k 取为9, x 取为-5或5即可由公式(1)或(2)得到5-e 的近似计算方法(A )或(B )。
2) 程序下述程序用公式(A )及(B )分别在Matlab 许可精度下及限定在字长为3的算术运算情况下给出5-e的近似计算结果,其中results_1, results_2为用方法(A )在上述两种情况下的计算结果,err_1, err_2为相应的绝对误差;类似的,results_3, results_4为用方法(B )在上述两种情况下的计算结果,err_3, err_4为相应的绝对误差;具体程序如下:% Numerical Experiment 1.1 % by Xu Minghua, May 17, 2008 clc; %Initialize the data x=-5; k=9; m=3; %three-digit rounding arithmetic %------------------------------------ % Compute exp(x) by using Method (A) % with the computer precision results_1=1; power_x=1; for i=1:k factor_x=x/i; power_x=power_x*factor_x; results_1=results_1+power_x; end results_1 err_1=abs(exp(x)-results_1)%------------------------------------% Compute exp(x) by using Method (A) % with the 3-digits precisionresults_2=1;power_x=1;for i=1:kfactor_x=digit(x/i,m);power_x=digit(power_x*factor_x,m); results_2=digit(results_2+power_x,m); endresults_2err_2=abs(exp(x)-results_2)%------------------------------------% Compute exp(x) by using Method (B) % with the computer precisiont=-x;results_3=1;power_x=1;for i=1:kfactor_x=t/i;power_x=power_x*factor_x;results_3=results_3+power_x; endresults_3=1/results_3err_3=abs(exp(x)-results_3)%------------------------------------% Compute exp(x) by using Method (B) % with the 3-digits precisiont=-x; results_4=1;power_x=1;for i=1:kfactor_x=digit(t/i,m);power_x=digit(power_x*factor_x,m);results_4=digit(results_4+power_x,m); endresults_4=digit(1/results_4,m)err_4=abs(exp(x)-results_4)%------------------------------------上述主程序用到一个子程序digit.m, digit(x,m)的作用是将x四舍五入成m位数。
Matlab上机题库及详细答案_Tonyxie
ax 2 + bx + c 0.5 ≤ x < 1.5 = y a sin c b + x 1.5 ≤ x < 3.5 c ln b + 3.5 ≤ x < 5.5 x
clc;clear; a=input('Please input a= '); b=input('Please input b= '); c=input('Please input c= '); x=input('Please input x= '); disp('#if#'); if x>=0.5&x<1.5 y=a*x^2+b*x+c elseif x<3.5&x>=1.5 y=a*sin(b)^c+x elseif x>=3.5&x<5.5 y=log(abs(b+(c./x))) else y='ERROR!' end disp('#switch#') switch(x*10/5) case {1 2} y=a*x^2+b*x+c case {3 4 5 6} y=a*sin(b)^c+x case {7 8 9 10} y=log(abs(b+(c./x))) otherwise y='ERROR!' end
பைடு நூலகம்
8、数值与符号计算
ex (1)求极限 lim x →+∞ a + be x
(3)已知线性方程组 Ax=b,其中
(2)求不定积分
∫ xe
ax
MATLAB常见错误(GUI篇)
w = sort(v);
if rem(n, 2) == 1
m = w((n+1) / 2);
else
m = (w(n/2) + w(n/2+1)) / 2;
end
以上就是一个大的程序function nestats,它下面另外包含了两个小的function mean和median,这样在大程序的里面就可以
个图或者算一个算式。
插入,关于什么是子程序 懂的人跳过^_^
function [avg, med] = newstats(u) % Primary function
% NEWSTATS Find mean and median with internal functions.
n = length(u);
Page 2
71、把plot图上的某些曲线排除在lengend之外,即不用legend标注出来157 72、如何连续对矩阵追加数值158 73、两个等直径圆管的交线160 74、Matlab的csvread读取数据的问题161 75、在对数坐标系插值的问题162 76、实现在原有图像上的部分图像变为白色162 78、如何实现双击listbox中的条目才表示选中163 79、如何删除矩阵中的NaN164 80、用平行截面法讨论由曲面z=x^2-y^2构成的马鞍面形状。164 81、如何利用ode45解方程165 82、Matlab图片如何批处理?pic变量逐一读取文件夹所有图片名165 83、方程为:exp(-x)=cos(x),用迭代法求出最小的正根,当相对误差<=10e-6时,求根结束。166 84、通过鼠标点击控制循环166 85、图像经连续小波分解后的显示效果图167 85-1、怎样查看图像的属性169 86、想产生如下的矩阵:6行10列,每行都是1 2 3 4 5 6 7 8 9 10。169 87、textread读取.txt中数据169 88、数制之间的转换怎么实现170 89、matlab读取大数据文件的方法172 90、从状态空间方程转换为传递函数174 91、生成0 1 2 3 4 5 6 7 8 随机出现大小为20X20的矩阵!174 92、存储绘图过程,并播放视频175 93、如何同时读入多个文件,并作图?175 94、MATLAB GUI编程中几个有用的程序段177 95、Matlab如何在给定区域随机取点?180 96、数据如何导入到workspace中,并执行?在GUI里面,怎么传递处理。180 97、matlab下画'心'的程序。181 98、点到直线的距离怎么求?181 99、如何绘制正态分布图?185 100、matlab作图时,如何只保存图像而不显示图像185 101、在三维图中只显示x,y轴,不显示z轴186 102、cell array和矩阵的显示186 103、矩阵形式的转换188 104、如何判断鼠标是否在figure内的某一区域?189 105、一个有用的程序189 106、窗口的最大化、最小化、图标、置顶191 107、连续生成文件名的问题193 108、编辑框edit中输入公式后的绘图问题194 109、MATLAB中plot命令绘图微调的几个注记 (转自职业仓库)195 110、MATlab 三维图中显示z坐标轴的极大极小值203 111、如何一次性清空GUI程序的handles结构中的变量203 112、Matlab如何给元胞中的每个一维向量前增加同一个数?204 113、用guide生成的不同GUI之间控件的互相操作206 114、自定义Matlab figure 工具栏按钮208 115、matlab 有没有按某个小数位数做四舍五入的函数?209 116、有关矩阵中小于某值的数取整的问题209 117、Matlab表面被截后的部分210 118、如何是imshow显示的图像充满整个figure?211 119、图像颜色统计直方图211 120、Matlab如何将大元胞数组写入到txt文件212
Matlab上机题库及详细答案
解:c=input('请输入一个字符','s');
if c>='A' & c<='Z'
disp(setstr(abs(c)+abs('a')-abs('A')));
elseif c>='a'& c<='z'
disp(setstr(abs(c)- abs('a')+abs('A')));
(2)均值为0.6方差为0.1的5阶正态分布随机矩阵
解:>>x=20+(50-20)*rand(5);
>>y=0.6+sqrt(0.1)*randn(5)
例13:将101~125等25个数填入一个5行5列的表格中,使其每行每列及对角线的和均为565。
解:M=100+magic(5)
M =117 124 101 108 115
-0.4606
0.3848
例2、用简短命令计算并绘制在0x6范围内的sin(2x)、sinx2、sin2x。
解:x=linspace(0,6)
y1=sin(2*x),y2=sin(x.^2),y3=(sin(x)).^2;
plot(x,y1,x, y2,x, y3)
例3:画出指数衰减曲线y1=exp(-t/3)*sin(3*t)和它的包络y2=exp(-t/3),t的取值范围是(0,4pi)。
matlab上机考试题及答案
matlab上机考试题及答案1. 题目:编写一个MATLAB函数,计算并返回一个向量中所有元素的平方和。
答案:函数定义如下:```matlabfunction sumOfSquares = calculateSumOfSquares(vector)sumOfSquares = sum(vector.^2);end```2. 题目:使用MATLAB的内置函数,找出一个矩阵中的最大元素及其位置。
答案:可以使用`max`函数来找出矩阵中的最大元素,同时使用`find`函数来获取其位置。
示例代码如下:```matlabA = [1, 2, 3; 4, 5, 6; 7, 8, 9];[maxValue, linearIndex] = max(A(:));[row, col] = ind2sub(size(A), linearIndex);```3. 题目:给定一个向量,使用MATLAB编写代码,实现向量元素的逆序排列。
答案:可以使用`flip`函数来实现向量的逆序排列。
示例代码如下:```matlabvector = [1, 2, 3, 4, 5];reversedVector = flip(vector);```4. 题目:编写一个MATLAB脚本,计算并绘制一个正弦波的图像。
答案:可以使用`sin`函数生成正弦波数据,并使用`plot`函数绘制图像。
示例代码如下:```matlabx = linspace(0, 2*pi, 100);y = sin(x);plot(x, y);xlabel('x');ylabel('sin(x)');title('Sine Wave');```5. 题目:给定一个3x3的矩阵,使用MATLAB编写代码,计算其行列式。
答案:可以使用`det`函数来计算矩阵的行列式。
示例代码如下:```matlabmatrix = [1, 2, 3; 4, 5, 6; 7, 8, 9];determinant = det(matrix);```结束语:以上是MATLAB上机考试的题目及答案,希望能够帮助大家更好地掌握MATLAB的编程技巧和函数使用。
matlab上机题汇总(必做)
上机题汇总1设置matlab 的工作环境,将工作目录设置为d:\work ,添加搜索目录d:\example2在matlab 的命令窗口里完成如下计算,其中t 的值分别取-1,0,1,表达式如下:4/3)2t y e π-=3自行产生一个5行5列的数组,得到最中间的三行三行矩阵。
4用magic 产生一个5*5的矩阵,将这个矩阵的第二行与第三行互换位置5求方程组的根 x 1+4x 2-3x 3=22x 1+5x 2-x 3=11x 1+6x 2+x 3=126已知:一个多项式的系数向量是p=[1 -6-72 -27],求这个多项式的根。
7已经两个多项式的系数分别是:[1 2 3 4]和[1 4 9 16],请求这两个多项式的乘积,及商和余数。
8给定一个多项式的根是[-5 -3+4i -3-4i],求原来的多项式9 A=[2 3 4;1 5 7;6 2 5]用什么函数,保证第一列排序的时候,其他列跟着变化。
最后的结果是:[1 5 7;2 3 4;6 2 5]10补充题:电路分析电路分析常常涉及到对方程组的求解,这些方程常常是利用描述电流进入和离开节点的电流方程,或者描述电路中网络回路上的电压的电压方程得出的。
下图描述了3个回路电压的方程方程式如下:11121222132423432532()0()()0()0V R I R I I R I I R I R I I R I I R I V -++-=⎧⎪-++-=⎨⎪-++=⎩假设5个电阻值为已知,2个电压值也为已知,求3个电流值。
11自行产生一个5行5列的数组,用两种方法得到最中间的三行三行矩阵。
12根据a=reshape(-4:4,3,3)做一个矩阵,然后(1)取出所有大于0的元素构成一个向量(可推广到从一个矩阵里筛选出符合条件的元素组成一个向量)(2)将原矩阵中大于0的元素正常显示,而小于等于0的元素全部用0来表示(可推广到将原矩阵中不符合条件的全用0来表示,符合条件的值不变)。
Matlab编程常见错误与解决办法
Matlab常见错误及解决办法归纳1.Subscript indices must either be real positive integers or logicals中文解释:下标索引必须是正整数类型或者逻辑类型出错原因:在访问矩阵(包括向量、二维矩阵、多维数组,下同)的过程中,下标索引要么从0 开始,要么出现了负数。
注:matlab 的语法规定矩阵的索引从 1 开始,这与 C 等编程语言的习惯不一样。
解决办法:自己调试一下程序,把下标为0 或者负数的地方修正。
$ ]$ m8 A. T9 c$ i8 W2.Undefined function or variable "U"中文解释:函数或变量U 没有定义.出错原因及解决办法:可能变量名输入错误,仔细检查3.Matrix dimensions must agree中文解释:矩阵的维数必须一致出错原因:这是由于运算符(= + - / * 等)两边的运算对象维数不匹配造成的,典型的出错原因是错用了矩阵运算符。
matlab 通过“.”来区分矩阵运算和元素运算。
解决办法:自己调试一下程序,保证运算符两边的运算对象维数一致。
4.Function definitions are not permitted at the prompt or in scripts中文解释:不能在命令窗口或者脚本文件中定义函数出错原因:一旦在命令窗口写function c = myPlus(a,b),此错误就会出现,因为函数只能定义在m 文件中。
关于脚本文件和m 文件的区别请查阅matlab 基础书。
简言之:1) 如果你写成function 的形式,那么必须写在m 文件中,且以function 开头(即function 语句前不能包含其他语句,所有语句必须放在function 中,当然,function 的定义可以有多个,各function 之间是并列关系,不能嵌套);2) 如果你写成脚本的形式,则既可以写在命令窗口中,也可以写在m 文件中,但两者均不能包含function 语句(即不能进行函数的定义)解决办法:新建一个m 文件,然后再进行函数的定义5.One or more output arguments not assigned during call to '...'中文解释:在调用...函数过程中,一个或多个输出变量没有被赋值出错原因:函数如果带有输出变量,则每个输出在返回的时候都必须被赋值。
东南大学Matlab课程MATLAB第1次作业易错点
MATLAB第一次作业易错点最常见,最易错的一点:m文件的命名不可使用数字、系统函数名来直接命名。
有同学交上来的作业,所有m文件均以题号数字1、2、3……直接命名,这将导致其m文件全部无法正常运行。
此外,有同学直接将m文件命名为plot、fft、colon等系统已有的函数名,这也会导致m文件无法运行。
建议大家在做题时,将m文件命名为“workA1.m”(代表partA第一题),“workB7”(代表partA第一题)这样的格式。
PART A1. Get into Matlab: Use the diary command to record your activity in to a file: diary mydiary01.doc before you start your work. (And diary off to switch off your diary when you finish your work.)At the Command Window assign a value x=10, then use the Up Key ↑ to repeat the expression, editing it to show the effect of using a semicolon after the 10, namely x=10;Answers:>> x=10x =10>> x=10;共同错误:没有理解题意,本题主要目的是为了让同学理解“;”在句末的作用:“x=10”将会直接在屏幕上输出结果,而“x=10;”则不会在屏幕上输出结果,而是系统将结果自动保存到workspace中。
许多同学交上来的作业中没有尝试带分号的语句,只是不断重复地输入“x=10”。
5. Use the colon operator : to assign numerical values between 0 and 1 to vector array variable a in steps of 0.1.Answer: x=0:0.1:1共同错误:题意理解不清。
Matlab实验题目与答案
(温馨提示:实验课结束后,请将所有作业(题目、代码、结果)利用word 整理成一个完整的实验报告,加上封面,打印,纸质档于18周周一交)第一次上机作业目的:1. 掌握MATLAB 各种表达式的书写规则2. 运行课堂上讲过的例子,熟悉矩阵、表达式的基本操作和运算。
作业:1. 熟悉matlab 集成环境界面。
回答以下问题,并操作相关的指令:(1) 分别写出清除命令窗口和清除变量的指令。
答: clc 和clear(2)在命令行输入命令后,matlab 的搜索过程是怎样的?答: (1)检查该命令对象是不是一个变量。
(2)检查该命令对象是不是一个内部函数。
(3)检查该命令对象是否为当前目录下的程序文件。
(4)检查该命令对象是否为MATLAB 搜索路径中其他目录下的M 文件。
(3)什么是matlab 的当前工作目录?写出两种设置当前工作目录的方法? 答: 就是matlab 当前文件读取和存储的默认路径(1)在当前目录窗口中更改(2)在MATLAB 桌面工具栏中更改(3)使用cd 命令:cd c:\mydir---将c :\mydir 设置为当前目录(4)什么是matlab 的搜索路径?写出两种设置搜索路径的方法?答: 指Matlab 运行文件时进行搜索的目录。
(1)用path 命令设置:(2)用Set Path 对话框设置(5)help 命令和doc 命令有什么作用,它们有什么区别?答: help 命令:最基本的帮助命令,查询信息直接显示在命令窗口。
doc 命令:在帮助窗口中显示HTML 帮助文档,显示函数的详细用法及 例子,比help 命令更详细。
2. 在matlab 中输入下列表达式,并求各表达式的值,显示MATLAB 工作空间的使用情况并用两种方式保存全部变量,变量保存的文件名必须包含自己的学号后四位数:(1))1034245.01(26-⨯+⨯=w w=sqrt(2)*(1+0.34245*10^-6)w =1.4142(2),)tan(22ac b e abc c b a x ++-+++=ππ 其中a=3.5,b=5,c=9.8。
MATLAB常见错误(GUI篇)
22-2string和number相互转换的问题50 23、这样的功能的pushbutton的callback怎么写呀,谢谢了50 24、GUI中axes使用subplot时的清空及axes大小的固定的解决方法51 25、退出GUI时如何把全局变量中的值清空?53 26、从串口接受数据时,如何把波形绘制到指定的坐标轴上?53 27、两个GUI之间如何传递数据55 28-1 几个有用的帖子57 28-2、GUI之间互相调用和关闭问题60 29、GUI timer定时器60 30、如何在循环中加入waitbar61 31、如何连续读入图片!!62 32、如何把此次输入的值保存为下一次初始化的值63 33、Matlab关于解决自动保存gcf的问题63 34-1、在matlab里面如何读取excel里面的数据或者写入数据65 34-2、在excel中连续输入数据。66 35、Matlab GUI不同控件之间的数据传递问题68 36、怎么统计一个十进制数中"0"的个数??求助!69 37、Matlab对listbox里的条目能否一条条单独设置回调函数?70 38、键盘操作:matlab GUI中如何取得从键盘输入的按键的键值72 39、GUI如何响应鼠标事件73 40、matlab 截图、图像处理76 41、MATLAB GUI中利用定时器制作动画 - [MATLAB]84 42、MATLAB如何从GUI中返回参数 - [MATLAB]86 43、MATLAB 中GUI子程序的参数传递 - [MATLAB]87 44、Matlab保存axes上的图的问题(包括坐标轴)88 45、Matlab鼠标控制的两个GUI例子(附代码)91 46、分享初学的一个GUI例子--新手好好看看(图)97 47、axes清除畫面113 48、GUI中调用自己制作的帮助文件114 49、关于从gui调用simulink114 50、如何将菜单中退出项和窗口关闭的回调函数合并?117 51、matlab 日历程序119 52、如何在GUI里得一个axes实现双Y坐标轴121 53、如何实现动态的GUI界面121 54、关于GUI和simulink参数传递和执行122 55、代码运行时间的计时方法134 56、如何在GUI指定的axes中再画一个axes135 57、按下鼠标左键并拖动鼠标时的作图方法136 58、图像处理相关资料137 59、保存axes坐标轴上画的曲线或图形140 60、在GUI中如何打开IE141 61、gui输入数据,通过rs232传给芯片141 62、Matlab关于gui和excel的问题142 63、matlab 如何显示数学公式145 64、修改matlab自带的tabdlg的字体和颜色148 65、求助 Matlab的RGB彩色图合成148 66、如何删除已绘制的曲线?149 67、总结一下,MATLAB中随机矩阵获得150 68、【原创】GUI设计中背景音乐的定制与关闭153 69、Matlab如何改变GRID 网格线的颜色?156
matlab易错题
(1)仿真可分为哪三种类型?仿真可分为物理仿真、数学仿真、混合仿真三种形式(2)M A TLAB的文本文件和函数文件在执行方式上有何不同之处?文本文件是由一系列MATLAB的命令、内置函数等组成,它类似于DOS下的批处理文件。
在MATLAB提示符下直接键入文本文件名,便可自动执行文件中的一系列命令,直至给出最终结果。
MATLAB的函数文件与文本文件不同,函数文件的第一行为关键function 。
不能单独键入函数文件的文件名来运行一个函数文件,必须由其它语句来调用执行。
函数文件的调用方式为:[y1,y2,y3,…] = function_name(i,j,k ,…)(3)封装后的子系统是否可当作一个Simulink的标准模块?封装子系统的重要目的是什么?封装后的子系统可以当作一个标准模块来处理。
利用封装功能,可以为一个子系统创建新的对话框和图标,封装的重要目的是帮助用户创建一个新的对话框来统一接收子系统所含模块的所有参数,这样就无需分别多次打开子系统中各个模块的对话框来逐个输入参数。
. MATLAB中运算符包括数学运算符、字符串运算符、矩阵(数组)运算符。
1.求解多项式x3-7x2+2x+40的根。
>> r=[1 -7 2 40];>> p=roots(r);a=3; b=2; c=9; d=12) d|b>aans = __1__2、下列哪一个函数是符号函数( B )A.remB.signC.fixD.mod5、要查询匹配的字符串,则应该使用下列哪一个函数( A )A.strmatchB.strjustC.strfindD.strrep6、下列哪一个函数可以获取结构字段的数据( B )A.fieldnamesB.getfieldC.setfieldD.rmfield7、使用下列哪一个函数可以交换矩阵左右对称位置上的元素( A )A.fliplrB.flipdimC.flipudD.find9、使用函数struct创建一个结构。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
1、完成下列操作:(1) 求[100,999]之间能被21整除的数的个数。
(2) 建立一个字符串向量,删除其中的大写字母。
(1)m=100:999;n=find(mod(m,21)==0);length(n)ans =43(2)>> ch='Maybe One Day'p=find(ch>='A'&ch<='Z')ch(p)=[]ch =Maybe One Day2、自行产生一个5行5列的数组,分别得到最中间的三行三列矩阵、右下角2行2列矩阵,奇数行矩阵、奇数列矩阵、奇数行奇数列矩阵。
>> t=rand(5)%生成矩阵A=t(2:4,2:4)%中间三行散列矩阵B=t(4:5,4:5)%右下角两行两列矩阵C=t(1:2:end,:)%奇数行矩阵D=t(:,1:2:end)%奇数列矩阵E=t(1:2:end,1:2:end)%奇数行列矩阵3、求方程组的根syms x y z[X Y Z]=solve('x+4*y-3*z=2','2*x+5*y-z=11','x+6*y+z=12',x,y,z)4、已知矩阵A=[1 2;3 4],运行指令B1=A.^(0.5), B2=A^(0.5), 可以观察到不同运算方法所得结果不同。
(1)请分别写出根据B1, B2恢复原矩阵A的程序。
(2)用指令检验所得的两个恢复矩阵是否相等(利用norm(…,’fro’)指令,误差矩阵F-范数,接近eps量级,认为实际相等)。
5、先运行clear,format long,rng('default'),A=rand(3,3),然后根据A写出两个矩阵:一个对角阵B,其相应元素由A的对角元素构成;另一个矩阵C,其对角元素全为0,而其余元素与对应的A阵元素相同(diag指令的使用)。
>> format long>> rand('twister',1)>> A=rand(3,3)A =0.417022004702574 0.302332572631840 0.1862602113776710.720324493442158 0.146755********* 0.345560727043048 0.000114374817345 0.092338594768798 0.396767474230670 >> B=diag(diag(A)) B =0.417022004702574 0 0 0 0.146755********* 0 0 0 0.396767474230670 >> D=(A~=B) D =0 1 1 1 0 1 1 1 0 >> C=A.*D C =0 0.302332572631840 0.186260211377671 0.720324493442158 0 0.345560727043048 0.000114374817345 0.092338594768798 06、先运行指令x=-3*pi:pi/15:3*pi; y=x; [X,Y]=meshgrid(x,y); warning off; Z=sin(X).*sin(Y)./X./Y; 产生矩阵Z 。
(1)请问矩阵Z 中有多少个“非数”数据?(2)用指令surf(X,Y ,Z); shading interp 观察所绘的图形。
(3)请写出绘制相应的“无裂缝”图形的全部指令。
(nan 的检测,可以使用sum 函数求和,利用eps 克服,‘被零除’。
x=-3*pi:pi/15:3*pi; y=x; [X,Y]=meshgrid(x,y); warning off; Z=sin(X).*sin(Y)./X./Y; >> n=sum(sum(isnan(Z))) n = 181>> m=isnan(Z); >> p=find(m==1); >> length(p) ans = 181 3)XX=X+(X==0)*eps; >> YY=Y+(Y==0)*eps;ZZ=sin(XX).*sin(YY)./XX./YY;7、计算表达式()22e 1053y xy x z ---=的梯度并绘图。
>> v= -2:0.1:2;>> [x y]=meshgrid(v);>> z=10*(x.^3-y.^5).*exp(-x.^2-y.^2); >> [px py]=gradient(z,0.1,0.1); >> contour(x,y,z) >> hold on>> quiver(x,y,px,py)>> hold off8、22y xxe z --=,当x 和y 的取值范围均为-2到2时,用建立子窗口的方法在同一个图形窗口中绘制出三维线图(plot3)、网线图(mesh)、表面图(surf)和带渲染效果(shading )的表面图。
>> v=-2:0.1:2; >> [x y]=meshgrid(v); >> z=x.*exp(-x.^2-y.^2); >> subplot(2,2,1); >> plot3(x,y,z);>> title('plot3(x,y,z)'); >> subplot(2,2,2); >> surf(x,y,z);>> title('surf(x,y,z)'); >> subplot(2,2,3); >> mesh(x,y,z);>> title('mesh(x,y,z)'); >> subplot(2,2,4); >> surf(x,y,z); >> shading interp; >> title('surf-shading(x,y,z)')9、插值函数interp1(x,y,x0,’spline’)的利用 10、x=[66 49 71 56 38]; >> L=[0 0 0 0 1]; >> pie(x,L) 将第五块分离出来;11、0)0(sin =+=y t y dtdyf=dsolve('Dy=y+sin(t)','y(0)=0') f =exp(t)/2 - cos(t)/2 - sin(t)/2三、⎪⎪⎩⎪⎪⎨⎧=+-==++=0)0(cos 0)0(sin y t y x dtdy x t y x dtdx[X,Y]=dsolve('Dx=x+y+sin(t)','Dy=x-y+cos(t)','x(0)=0','y(0)=0') X =exp(2^(1/2)*t)/3 + exp(-2^(1/2)*t)/3 - (2*cos(t))/3 - sin(t)/3 + (2^(1/2)*exp(2^(1/2)*t))/12 - (2^(1/2)*exp(-2^(1/2)*t))/12 Y =cos(t)/3 - exp(-2^(1/2)*t)/6 - exp(2^(1/2)*t)/6 + (2^(1/2)*exp(2^(1/2)*t))/4 - (2^(1/2)*exp(-2^(1/2)*t))/4四、用电压V =10伏的电池给电容器充电,电容器上t 时刻的电压为m t e V V V t v /0)()(---=其中0V 是电容器的初始电压,m 是充电常数,试由下面一组t ,V 数据确定0V 和m 。
>> t=[0.5 1:5 7 9]';v=[6.36 6.48 7.26 8.22 8.66 8.99 9.43 9.63]’; >> y=log(10-v);>> t1=[ones(size(t)) t]; >> c=t1\y c =1.4766 -0.2835>> v0=10-exp(c(0))试图访问 c(0);索引必须为正整数或逻辑值。
>> v0=10-exp(c(1)) v0 =5.6221 >> m=-1/c(2) m =五、变量t 和y 满足函数关系)8.0exp()5.1exp()4exp(3210a a a a y -+-+-+=,通过实验测的数据:>> y=[3330 2830 2630 2500 2330 2260 2200]'; >> t=[2 3 4 5 7 10 14]';>> c=[ones(size(t)) exp(-t./4) exp(-t./1.5) exp(-t./0.8)]; >> a=c\y a =1.0e+03 *2.1675 1.0226 0.60804.6281六、分别用 for 和while 循环结构编写程序,求出636232632222212++++++==∑= i i K并考虑一种避免循环的简洁方法来求和,并比较各种算法的运行时间。
(注:一共是三种方法) FOR:>> sum1=0; for i=0:63sum1=sum1+2^i;end>> sum1sum1 =1.8447e+19WHILE:>> sum2=0;i=0;while i<64sum2=sum2+2^i;i=i+1;end>> sum2sum2 =1.8447e+19其他方法:>> i=0:63;>> t=2.^i;>> k=sum(t)k =1.8447e+19【例4.1.3.1-2】综合例题:在MATLAB计算生成的图形上标出图名和最大值点坐标。
cleara=2; %设置衰减系数w=3; %设置振荡频率t=0:0.01:10;y=exp(-a*t).*sin(w*t); %产生函数数组[y_max,i_max]=max(y); %找最大值元素位置t_text=['t=',num2str(t(i_max))]; % <7> 生成最大值点的横坐标字符串y_text=['y=',num2str(y_max)]; % <8>生成最大值点的纵坐标字符串max_text=char('maximum',t_text,y_text); % <9>生成标志图名用的字符串% tit=['y=exp(-',num2str(a),'t)*sin(',num2str(w),'t)']; %<11> plot(t,zeros(size(t)),'k') %画纵坐标为0的基准线hold onplot(t,y,'b')plot(t(i_max),y_max,'r.','MarkerSize',20) %用大红点标最大值text(t(i_max)+0.3,y_max+0.05,max_text) % <16>再图上书写最大值点的数据值title(tit),xlabel('t'),ylabel('y'),hold off。