文档库 最新最全的文档下载
当前位置:文档库 › MATLAB计算机仿真上机作业

MATLAB计算机仿真上机作业

MATLAB计算机仿真上机作业
MATLAB计算机仿真上机作业

1、下列表达式表达了在主接触应力F 的作用下,两个球体被挤压到一起时在x,y,z 方向上所产生的接触应力值。

2

2max 1221max /1])1(5.0)1))(arctan(1[(a z p a

z v z a a z p z y x +-=+----==-σσ{σ 式中,2

max 32122212

123/1/1/)1(/)1(83a F p d d E v E v F a π=+-+-=

i i E v ,和)2,1(=j d j 分别为两个球的泊松比,弹性模量和直径。 用MA TLAB 表达形式写出上述公式并用下列给出的数值进行计算:

)

54.2(01.0)373(100,7.2,5.1,103,3.02172121厘米英寸,等于,

克磅,等于in z lb F d d E E v v ====?====

2、给出向量]19,7,51,37,29,0,5,47,3,17[----=x 。编程使x 按照向量]5,17,19,29,51,47,37,7,3,0[----=y 的形式重新排列。程序应使用于任意长度的向量。对所有向量,数值0与负数放在一起。也就是说,如果0为向量的一个元素,则它将作为y 向量的第一个元素。

3、如图所示曲柄滑块机构,滑块的位移为:

22))sin(()cos(e a b a s --+=φφ

位移s 是角度φ(以角度表示)的函数,当 3600,3.0,5.1,1≤≤===φe b a 时,使用

plot(φ,s)函数绘制s 的图形。

4、由下式产生黄金分割数: ,......2,1,0],)251()251[(5

1=--+=n F n n n 使用fprintf 和disp 产生前16个数值,并在MA TLAB 命令窗口中显示如下内容:

F0=0

F1=1

F2=1

F3=2

…….

F15=610

5、find 函数的实现

给定由正数和负数构成的任意长度向量g,用程序实现下式:

Indx=find(g>a)

这里a 是由用户指定的一个值。本例中a=4,向量]0,1,42,6,10,7,4,4[-=g 。

6、用极坐标画半径为2的圆

答案如下:

function [thetax,thetay,thetaz]= zcj01(v1,v2,E1,E2,d1,d2,F,z)

%函数功能:计算xyz方向应力

%输入参数:v1,v2,E1,E2,d1,d2,F,z

%输出参数:thetax,thetay,thetaz

v1=0.3;v2=0.3;

E1=3*10^7;E2=3*10^7;

d1=1.5;d2=2.7;

F=37300;

z=0.254;

a=((3*F/8)*(((1-v1^2)/E1)+((1-v2^2)/E2))/(1/d1+1/d2))^(1/3); pmax=3*F/(2*pi*(a^2));

thetax=-pmax*((1-(z/a)*atan(a/z))*(1-v1)-0.5*(1+z^2/(a^2))^(-1)); thetay=-pmax*((1-(z/a)*atan(a/z))*(1-v1)-0.5*(1+z^2/(a^2))^(-1)); thetaz=-pmax/(1+z^2/(a^2));

end

第二题

x=[17,-3,-47,5,0,29,-37,51,-7,19]

indexzero=find(x==0);% x是一个行向量

zero=x(indexzero);

indexzheng=find(x>0);

zheng=x(indexzheng);

zhengp=-sort(-zheng);%降序排列

indexfu=find(x<0);

fu=x(indexfu);

fup=-sort(-fu);%降序排列

y=[zero,fup,zhengp]

第三题

function s=zcj03(a,b,e)

%函数意义:曲柄滑块机构位移函数式

%输入参数:a,,b,e

%输出参数:s

a=0.5;b=1;e=0.2;%该语句函数值可以在使用时,自己赋值theta=-pi:0.1:pi;

s=a.*cos(theta)+(b^2-(a.*sin(theta)-e).^2).^(1/2);

plot(theta,s);

end

第四题

n=0:1:15;

F= [n; (1/5^(1/2))*(((1+5^(1/2))/2).^n-((1-5^(1/2))/2).^n)];

fid = fopen('exp.txt','w');

fprintf(fid,'%2d F=%3.0f\n',F);

fclose(fid);

type exp.txt

第五题

a=4;

g=[4 4 7 10 -6 42 1 0];

%输入函数g为一个行向量

indx=find(g>a)

t = 0:.01:2*pi;

polar(t,2*ones(size(t))); title('极坐标画圆')

Matlab上机_测试题c答案讲课教案

<<<<<<精品资料》》》》》 Matlab 上机测试题答案 班级 姓名 学号 要求: (1)请将程序和运行结果粘贴到题目下面,写清楚哪部分是程序,哪部分是运行结果,运行结果包括图形,图形请适当缩小,然后将word 文档传到教育在线,注意保存格式是2003的doc ,文件名”自111_110110_张三” (2)在最开始前请将输入Matlab 命令窗口中输入”diary ”命令,随后在workspace 窗口中可以发现一个名为“diary ”的文件。在老师要求结束练习后,在命令窗口输入”diary off ”命令,然后将文件“diary ”上传到教育在线。 (3)注意题号不要弄乱。 --------------------------------------------------------------------- 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([4 3],2,3) [i,j]=ind2sub([4 3],10) find(Y==100) sub2ind([4 3],3,2) B=Y(2:2:4,3:-2:1) 或 B=Y([2 4],[3 1]) [m n]=size(Y) --------------------------------------------------------------------- 2、已知矩阵A=[1 0 -1 ;2 4 1; -2 0 5],B=[0 -1 0;2 1 3;1 1 2] 求2A+B 、A 2-3B 、A*B 、B*A 、A .*B ,A/B 、A\B 解:命令为: A=[1 0 -1 ;2 4 1; -2 0 5] B=[0 -1 0;2 1 3;1 1 2] 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

Matlab上机实验答案

Matlab上机实验答案 实验一 MATLAB运算基础 1. 先求下列表达式的值,然后显示MATLAB工作空间的使用情况并保存全部变量。 >> z1=2*sin(85*pi/180)/(1+exp(2)) z1 = >> x=[2 1+2i; 5]; >> z2=1/2*log(x+sqrt(1+x^2)) z2 = - + + -

>> a=::; >> z3=(exp.*a)-exp.*a))./2.*sin(a++log(+a)./2) (>> z33=(exp*a)-exp*a))/2.*sin(a++log(+a)/2)可以验证z3==z33,是否都为1) z3 = Columns 1 through 5 + + + + + Columns 6 through 10 + + + + + Columns 11 through 15 + + + + + Columns 16 through 20 + + + + +

Columns 21 through 25 + + + + + Columns 26 through 30 + + + + + Columns 31 through 35 + + + + + Columns 36 through 40 + + + + + Columns 41 through 45 + + + + + Columns 46 through 50

+ + + + + Columns 51 through 55 + + + + + Columns 56 through 60 + + + + + Column 61 + (4) 2 2 4 2 01 112 2123 t t z t t t t t ?≤< ? =-≤< ? ?-+≤< ? ,其中t=0:: >> t=0::; >> z4=(t>=0&t<1).*(t.^2)+(t>=1&t<2).*(t.^2-1)+(t>=2&t<3).*(t.^ 2-2.*t+1) z4 =

MATLAB上机习题一

MATLAB上机习题一 请按以下步骤完成上机实验: 1)在FTP上下载“MATLAB上机习题一.doc”文件,所有习题列在该文件内; 2)在MATLAB中完成所有习题,并将屏幕截图粘贴到相应习题后面; 3)如果习题是问答题,请将答案写在题目后; 4)如果有的习题要求提供脚本文件,请将脚本文件内容拷贝到相应习题后; 5)将文件保存并重命名为“自己的学号-姓名”,例如“20110771-张三.doc”; 6)上传该文件到FTP的相关目录。 1. 运行MATLAB软件,拖放、关闭界面上的子窗口,并恢复到原始试图。 2. 采用鼠标及命令两种方式将桌面添加到MATLAB搜索路径列表的起始及最后位置。 3. 采用鼠标及命令方式将当前工作目录设置为桌面指向的文件夹。 4. 通过使用帮助确定内置变量ispc 的含义。 6. 观察MATLAB中关键字、字符串、注释的字体显示颜色。 5. 创建double类型的变量,并进行计算 1)a=87,b=190,计算a+b、a-b、a*b;

2)创建uint8类型的变量,数值与(1)中相同,进行相同的计算,观察计算结果与预想的是否一致。 6. 计算如下表达式: 1)()sin 60 2)3e 3)3cos 4π?? ??? 4)2 7562323336 +?-?? 7. 设u=2,v=3,计算: 1)4log uv v 2)() 2 2u e v v u +- 3 8. 计算如下表达式: 1)()()3542i i -+ 2)()sin 28i - 9. 判断下面语句的运算结果,并与MATLAB 计算结果做比较:

1)420< 2)420≤ 3)420== 4)4~20= 5)''''b B < 10. 设a=39,b=58,c=3,d=7,判断下面表达式的值与MATLAB 计算结果做比较: 1)a b > 2)a b < 3)&&a b b c >> 4)a d == 5)|a b c > 6)~~d 11. 判断下列变量名哪些是合法的MATLAB 变量: 1)fred 7)fred! 2)book_1 8)book-1 3)2ndplace 9)Second_Place 4)#1 10)No_1 5)vel_5 11)vel.5 6)tan 12)while 提示,可以使用isvarname 对上述变量名进行检验。 12. 编写脚本程序,命名为barbell.m ,完成如下计算: 如图1所示的杠铃,

MATLAB上机实验(答案)

MATLAB工具软件实验(1) (1)生成一个4×4的随机矩阵,求该矩阵的特征值和特征向量。程序: A=rand(4) [L,D]=eig(A) 结果: A = 0.9501 0.8913 0.8214 0.9218 0.2311 0.7621 0.4447 0.7382 0.6068 0.4565 0.6154 0.1763 0.4860 0.0185 0.7919 0.4057 L = -0.7412 -0.2729 - 0.1338i -0.2729 + 0.1338i -0.5413 -0.3955 -0.2609 - 0.4421i -0.2609 + 0.4421i 0.5416 -0.4062 -0.0833 + 0.4672i -0.0833 - 0.4672i 0.4276 -0.3595 0.6472 0.6472 -0.4804 D = 2.3230 0 0 0 0 0.0914 + 0.4586i 0 0 0 0 0.0914 - 0.4586i 0 0 0 0 0.2275 (2)给出一系列的a值,采用函数 22 22 1 25 x y a a += - 画一组椭圆。 程序: a=0.5:0.5:4.5; % a的绝对值不能大于5 t=[0:pi/50:2*pi]'; % 用参数t表示椭圆方程 X=cos(t)*a; Y=sin(t)*sqrt(25-a.^2); plot(X,Y) 结果: (3)X=[9,2,-3,-6,7,-2,1,7,4,-6,8,4,0,-2], (a)写出计算其负元素个数的程序。程序: X=[9,2,-3,-6,7,-2,1,7,4,-6,8,4,0,-2]; L=X<0; A=sum(L) 结果: A =

matlab上机作业

第四次 上机作业 1、 从键盘输入一个4位整数,按照如下规则加密后输出。加密规则:每位数字 都加上7,然后用和除以10的余数取代该数字;再把第一位与第三位交换,第二位与第四位交换。 Clear X=ones(1,4); X (1)=input(’输入第一位:‘); X (2)=input(’输入第二位:‘); X (3)=input(’输入第三位:‘); X (4)=input(’输入第四位:‘); X=rem(7+x,10); Y=1000.*x(3)+100.*x(4)+10.*x(1)+x(2) 2、 分别用if 和switch 语句实现以下计算,其中a 、b 、c 的值从键盘输入。 ??? ? ??? <≤+<≤+<≤++=5 .55.3, ln 5.35.1, sin 5.15.0,2x x c b x x b a x c bx ax y c a=input(‘请输入a :’); b=input(‘请输入b :’); c=input(‘请输入c :’); If(x>=0.5&&x<=1.5) y=a.*x^2+b.*x+c Elseif(x>=1.5&&x<=3.5) y=a.*(sin(b))^c+x

Elseif(x>=3.5&&x<=5.5) y=log(abs(b+c./x)) end a=input(‘请输入a:’); b=input(‘请输入b:’); c=input(‘请输入c:’); Switch x case(x>=0.5&&x<=1.5) y=a.*x^2+b.*x+c case(x>=1.5&&x<=3.5) y=a.*(sin(b))^c+x case(x>=3.5&&x<=5.5) y=log(abs(b+c./x)) end 3、产生20个两位随机整数,输出其中小于平均值的偶数。Clear al ;close all ;clc; X=fix(rand(1,20)*89)+10; Disp([‘20个随机数是:’,num2str(x)]); X1=mean(x); Disp([‘平均值为:’,num2str(x1)]); N=find(rem(x,2)==0&x

实例matlab-非线性规划-作业

实例matlab-非线性规划-作业

现代设计方法-工程优化理论、方法与设计 姓名 学号 班级 研 问题 : 某厂向用户提供发动机,合同规定,第一、二、三季度末分别交货40台、60台、80台。每季度的生产费用为 (元),其中x 是该季生产的台数。若交货后有剩余,可用于下季度交货,但需支付存储费,每台每季度c 元。已知工厂每季度最大生产能力为100台,第一季度开始时无存货,设a=50、b=0.2、c=4,问工厂应如何安排生产计划,才能既满足合同又使总费用最低。讨论a 、b 、c 变化对计划的影响,并作出合理的解释。 问题的分析和假设: 问题分析:本题是一个有约束条件的二次规划问题。决策变量是工厂每季度生产的台数,目标函数是总费用(包括生产费用和存储费)。约束条件是生产合同,生产能力的限制。在这些条件下需要如何安排生产计划,才能既满足合同又使总费用最低。 问题假设: 1、工厂最大生产能力不会发生变化; 2、合同不会发生变更; 3、第一季度开始时工厂无存货; 4、生产总量达到180台时,不在进行生产; 5、工厂生产处的发动机质量有保证,不考虑退货等因素; 6、不考虑产品运输费用是否有厂家承担等和生产无关的因素。 符号规定: x1——第一季度生产的台数; x2——第二季度生产的台数; 180-x1-x2——第三季度生产的台数; y1——第一季度总费用; y2——第二季度总费用; y3——第三季度总费用; y ——总费用(包括生产费用和存储费)。 ()2bx ax x f +=

建模: 1、第一、二、三季度末分别交货40台、60台、80台; 2、每季度的生产费用为 (元); 3、每季度生产数量满足40 ≤x1≤100,0≤x2≤100,100≤x1+x2 ≤180; 4、要求总费用最低,这是一个目标规划模型。 目标函数: y1 2111x b x a Z ?+?= y2()4012222-?+?+?=x c x b x a Z y3()()()10018018021221213 -+?+--?+--?=x x c x x b x x a Z y x x x x x x Z Z Z Z 68644.04.04.0149201 212221321--+++=++= 40≤x1≤100 0≤x2≤100 100≤x1+x2≤180 ()2 bx ax x f +=

MATLAB上机考试题(一)

(1)在MATLAB的命令窗口中执行_____命令,将命令窗口的显示内容清空。() A.clear B.clc C.echo off D.cd (2)在MATLAB的命令窗口中执行_____命令,使数据输出显示为十六进制表示。() A.format long B.format rat C.format hex D.format short e (3)下列变量名中_____是合法的。() A.x*y,a,1 B.x\y,a1234 C.end,1 bcx D.char_1,i,j (4)已知x=0:5,则x有_____个元素。() A.5 B.6 C.7 D.8 (5)一下运算符中哪个的优先级最高_____。() A./ B.^ C.~= D.& (6)使用检测函数isnumeric(10)的结果是_____。() A.1 B.0 C.false D.true (7)三维图形中默认视角是_____度。() A.方位角=0 俯仰角=90 B.方位角=90 俯仰角=0 C.方位角=37.5 仰俯角=30 D.方位角=0 仰俯角=180 (8)将符号表达式化简为因式分解因式分解因式分解因式分解形式,使用_____函数。() A.collect B.expand C.horner D.factor (9)运行以下命令,则_____描述是正确的。()>>syms a b c d >>A=[a b;c d] A.A占用的内存小于100B B.创建了5个符号变量 C.A占用的内存是a b c d的总和 D.不存在 (10)已知数组a=[1 2 3;4 5 6;7 8 9],则a(:,end)是指_____元素。 (11)运行命令bitor(8,7)的结果是_____。 (12)运行以下命令: >>x=0:10; >>y1=sin(x); >>y2=5*sin(x); >>y3=[10*sin(x );20*sin(x)]; >>plot(x,y1,x,y2,x,y3) 则在一个图形窗口中,可以看到_____条曲线。 (13)符号表达式“g=sym(sin(a*z)+cos(w*v))”中的自由符号变量是_____。 (14)运行以下命令: >>syms t >>f1=1/t >>limitf1_r=limit(f1,'t','0','right'); 则函数limitf1_r趋向0的右极限为_____。 15.在MATLAB的命令窗口中执行______命令,使数值5.3显示为5.300000000000000e+000 A. format long B. format long e C. format short D. format short e 16.下列变量名中______是合法的。A.char_1,i,j B.1_1, a.1 C.x\y,a1234 D.end,1bcx 17.已知x=0:9,则x有_____个元素。 A.12 B.11 C.10 D.9 18.产生对角线上为全1其余为0的2行3列矩阵的命令是______ A. ones(2,3) B. ones(3,2) C. eye(2,3) D. eye(3,2) 19.已知数组a= [1 2 3 4 5 6 7 8 9] ,则运行a(:,1)=[]命令后______ A. a变成行向量 B. a数组为2行2列 C. a 数组为3行2列 D. a数组中没有元素3 20.按含义选出各个函数名:表示4舍5入到整数的是____,表示向最接近0取整的是____,表示向最接近-∞取整的是____,表示向最接近∞取整的是_____ A. round(x) B. fix(x) C. floor(x) D. ceil(x) 21.已知a=0:5,b=1:6,下面的运算表达式出错的为______ A. a+b B. a./b C. a’*b D. a*b 22.已知s=’显示”hello”’,则s的元素个数是______ A. 12 B. 9 C. 7 D.18

Matlab 上机题及答案

1 一个三位整数各位数字的立方和等于该数本身则称该数为水仙花数。输出全部水仙花数。 for m=100:999 m1=fix(m/100); %求m的百位数字 m2=rem(fix(m/10),10); %求m的十位数字 m3=rem(m,10); %求m的个位数字 if m==m1*m1*m1+m2*m2*m2+m3*m3*m3 disp(m) end end 2.从键盘输入若干个数,当输入0时结束输入,求这些数的平均值和它们之和。 sum=0; n=0; val=input('Enter a number (end in 0):'); while (val~=0) sum=sum+val; n=n+1; val=input('Enter a number (end in 0):'); end if (n > 0) sum mean=sum/n end 3. 若一个数等于它的各个真因子之和,则称该数为完数,如6=1+2+3,所以6是完数。求[1,500]之间的全部完数。 for m=1:500 s=0; for k=1:m/2 if rem(m,k)==0 s=s+k; end end if m==s disp(m); end end 4. 从键盘上输入数字星期,在屏幕上显示对应英文星期的单词。 function week n=input('input the number:'); if isempty(n) errror('please input !!')

end if n>7|n<1 error('n between 1 and 7') end switch n case 1 disp('Monday') case 2 disp('Tuesday') case 3 disp('Wednesday') case 4 disp('Thursday') case 5 disp('Friday') case 6 disp('Saturday') case 7 disp('Sunday') end 5. 某公司销售电脑打印机的价格方案如下: ()如果顾客只买一台打印机,则一台的基本价格为$150。 ()如果顾客购买两台以上打印机,则第二台价格为$120。 ()第三台以后,每台$110。 写一段程序分别计算出购买1--10台打印机所需的钱数。打印机台数可以在程序开始处指定,或通过input命令读入。运行程序,计算出购买10台打印机的总价格。 写出程序,生成分别购买1--10台打印机所需价格的图表(使用fprintf命令输出图表,不允许手算)。 x=input('请输入购买的打印机台数:'); for m=1:x if m<=1 y(m)=150*m; elseif m<=2 y(m)=150+120*(m-1); else y(m)=150+120+110*(m-2); y(1,m)=y(m); end end y(x) plot(1:m,y,'r*--')

河南城建学院MATLAB上机实验答案

一熟悉Matlab工作环境 1、熟悉Matlab的5个基本窗口 思考题: (1)变量如何声明,变量名须遵守什么规则、是否区分大小写。 答:变量一般不需事先对变量的数据类型进行声明,系统会依据变量被赋值的类型自动进行类型识别,也就是说变量可以直接赋值而不用提前声明。变量名要遵守以下几条规则:?变量名必须以字母开头,只能由字母、数字或下划线组成。 ?变量名区分大小写。 ?变量名不能超过63个字符。 ?关键字不能作为变量名。 ?最好不要用特殊常量作为变量名。 (2)试说明分号、逗号、冒号的用法。 分号:分隔不想显示计算结果的各语句;矩阵行与行的分隔符。 逗号:分隔欲显示计算结果的各语句;变量分隔符;矩阵一行中各元素间的分隔符。 冒号:用于生成一维数值数组;表示一维数组的全部元素或多维数组某一维的全部元素。 (3)linspace()称为“线性等分”函数,说明它的用法。 LINSPACE Linearly spaced vector. 线性等分函数 LINSPACE(X1, X2) generates a row vector of 100 linearly equally spaced points between X1 and X2. 以X1为首元素,X2为末元素平均生成100个元素的行向量。 LINSPACE(X1, X2, N) generates N points between X1 and X2. For N < 2, LINSPACE returns X2. 以X1为首元素,X2为末元素平均生成n个元素的行向量。如果n<2,返回X2。 Class support for inputs X1,X2: float: double, single 数据类型:单精度、双精度浮点型。 (4)说明函数ones()、zeros()、eye()的用法。 ones()生成全1矩阵。 zeros()生成全0矩阵。 eye()生成单位矩阵。 2、Matlab的数值显示格式

matlab 上机作业1,中国石油大学

第一次上机实习 1.编写一个程序ex1_1.m,对输入的方阵计算其伴随矩阵。 a)要求第一行帮助行注明这个函数的用途,能在matlab命令窗口可以用help或lookfor 查到该帮助; b)对输入的变量进行检测,如果输入的不是方阵或者矩阵元素不是数,则报错,退出程 序。 function A=ex1_1(X) % 建立函数A=ex1_1(X),求矩阵X的伴随矩阵 [a,b]=size(X); if a~=b||~isnumeric(X) || ~ismatrix(X) error('输入的不是方阵或者矩阵元素不是数!'); end for i=1:a for j=1:b A(i,j)=(-1)^(i+j)*X(i,j)*det(X([1:i-1,i+1:end],[1:j-1,j+1:end])); end end A=A'; 2.已知表达式y=6*x^5+4*x^3+2*x^2-7x+10,x的范围是[0,100],使用三阶拟合和五阶的方法得出多项式的表达式,并编程在图中绘制出原曲线、三阶拟合和五段拟合的曲线。 clc clear all x=linspace(0,100,2000); p1=[6 0 4 2 -7 0]; y=polyval(p1,x); p3=polyfit(x,y,3); p5=polyfit(x,y,5); y1=polyval(p3,x); y2=polyval(p5,x); plot(x,y,'r-o') hold on grid on plot(x,y1,'b-.',x,y2,'y--*'); grid on 三条曲线

放大图(原曲线与五阶拟合完全重合): 3.读如图像5.tif(450*450),做fourier变换, a)将变换之后所得到的矩阵只保留前10行10列,后10行10列的数据,其他位置都 设置为0,然后再作反fourier变换,观察结果; 原图:

BP神经网络matlab实例(简单而经典)

p=p1';t=t1'; [pn,minp,maxp,tn,mint,maxt]=premnmx(p,t); %原始数据归一化 net=newff(minmax(pn),[5,1],{'tansig','purelin'},'traingdx'); %设置网络,建立相应的BP网络 net.trainParam.show=2000; % 训练网络 net.trainParam.lr=0.01; net.trainParam.epochs=100000; net.trainParam.goal=1e-5; [net,tr]=train(net ,pn,tn); %调用TRAINGDM算法训练BP网络 pnew=pnew1'; pnewn=tramnmx(pnew,minp,maxp); anewn=sim(net,pnewn); %对BP网络进行仿真 anew=postmnmx(anewn,mint,maxt); %还原数据 y=anew'; 1、BP网络构建 (1)生成BP网络 = net newff PR S S SNl TF TF TFNl BTF BLF PF (,[1 2...],{ 1 2...},,,) R?维矩阵。 PR:由R维的输入样本最小最大值构成的2 S S SNl:各层的神经元个数。 [ 1 2...] { 1 2...} TF TF TFNl:各层的神经元传递函数。 BTF:训练用函数的名称。 (2)网络训练 [,,,,,] (,,,,,,) = net tr Y E Pf Af train net P T Pi Ai VV TV (3)网络仿真 = [,,,,] (,,,,) Y Pf Af E perf sim net P Pi Ai T {'tansig','purelin'},'trainrp'

MATLAB上机题汇总(基本题,抽3题)合肥学院

1设置matlab 的工作环境,将工作目录设置为d:\work ,添加搜索目录d:\example 2在matlab 的命令窗口里完成如下计算,其中t 的值分别取-1,0,1,表达式如下: 4/3)2 t y e π-= 3自行产生一个5行5列的数组,得到最中间的三行三行矩阵。 4用magic 产生一个5*5的矩阵,将这个矩阵的第二行与第三行互换位置 5求方程组的根 x 1+4x 2-3x 3=2 2x 1+5x 2-x 3=11 x 1+6x 2+x 3=12 6已知:一个多项式的系数向量是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个回路电压的方程

方程式如下: 11121222132423432 532()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来表示,符合条件的值不变)。(思考:大于0的正常显示,小于等于0的用-10来表示) 13建立如下一个元胞数组,现在要求计算第一个元胞第4行第2列加上第二个元胞+第三个元胞里的第二个元素+最后一个元胞的第二个元素。 a={pascal(4),'hello';17.3500,7:2:100} 14建立一个结构体的数组,包括3个人,字段有姓名,年龄,分数,其中分数由随机函数产生一个3行10列的数据表示了有10门课程,每门课程有三个阶段的分数。问题是: 问题1,如何找到第2个人的分数并显示出来 问题2,如何找到第2个人的每门课程3个阶段的平均分数并显示出来 问题3,全班同学(指这3个学生)的10门课程的每门课程的平均分如何计算出来?要求放到一个数组里。 问题4,找到这个班所有同学的姓名放到一个元胞数组里 15给定一个图像文件,格式是jpg ,通过inportdata 引入这个文件,查看引入后数据保存是一个数组,是100*100*3的一个数组,这是一个三维的数组,表明有100*100个点,每个点有RGB 三个方面决定的。现在,要求将这些点的中间部分30个象素宽度的正方形用黑点表示。 16手动构造一个长宽页是1000*1000*3的图像,每个图像的点有三个0-255之间的随机值构成。然后使用image 函数显示这个图像,再用imwrite 函数保存这个图像,使这个图像用图片浏览器也能够查看。 17给定一个矩阵 a = 1 2 3 4 5 6 编写一个M 函数,要求输入是a ,输出有三个:平均数,标准差,秩。程序运行

MATLAB上机实验练习题答案

数学建模 MATLAB上机实验练习题 1、给出一个系数矩阵A[234;541;132],U=[123],求出线性方程组的一个精确解。 2、给出两组数据x=[00.30.81.11.62.3]’y=[0.820.720.630.600.550.50]’,我们可以简单的 认为这组数据在一条衰减的指数函数曲线上,y=C1+C2e-t通过曲线拟合求出这条衰减曲线的表达式,并且在图形窗口画出这条曲线,已知的点用*表示。 3、解线性方程 4、通过测量得到一组数据: 5、已知一组测量值 6、从某一个过程中通过测量得到: 分别采用多项式和指数函数进行曲线拟合。 7、将一个窗口分成四个子窗口,分别用四种方法做出多峰函数的表面图(原始数据法,临近 插值法,双线性插值法,二重三次方插值法) 8、在同一窗口使用函数作图的方法绘出正弦、余弦、双曲正弦、双曲余弦。分别使用不同的 颜色,线形和标识符。 9、下面的矩阵X表示三种产品五年内的销售额,用函数pie显示每种产品在五年内的销售额

占总销售额的比例,并分离第三种产品的切片。 X=19.322.151.6 34.270.382.4 61.482.990.8 50.554.959.1 29.436.347.0 10、对应时间矢量t,测得一组矢量y t00.30.8 1.1 1.6 2.3 y0.50.82 1.14 1.25 1.35 1.40 采用一个带有线性参数的指数函数进行拟合,y=a0+a1e-t+a2te-t,利用回归方法求出拟合函数,并画出拟合曲线,已知点用圆点表示。 11、请创建如图所示的结构数组(9分) 姓名编号指标 江明顺071023身高:176,体重:82 于越忠060134身高:168,体重:74 邓拓050839身高:182,体重:77 12、创建如图所示的元胞数组。(9分) 13、某钢材厂从1990年到2010年的产量如下表所示,请利用三次样条插值的方法计算1999年该钢材厂的产量,并画出曲线,已知数据用‘*’表示。要求写出达到题目要求的MATLAB 操作过程,不要求计算结果。 年份19901992199419961998200020022004200620082010 产量(万吨)75.99591.972105.711123.203131.669150.697179.323203.212226.505249.633256.344 14、在一次化学动力学实验中,在某温度下乙醇溶液中,两种化合物反应的产物浓度与反应时间关系的原始数据如下,请对这组数据进行三次多项式拟合,并画出拟合曲线,已知数据如下。 time=[2.55.07.510.013.017.020.030.040.050.060.070.0] res=[0.290.560.771.051.361.522.002.272.813.053.253.56]

Matlab上机实验答案 (1)

Matlab上机实验答案 实验一MATLAB运算基础 1. 先求下列表达式的值,然后显示MATLAB工作空间的使用情况并保存全部变量。 >> z1=2*sin(85*pi/200)/(1+exp(2)) z1 = 0.2375 >> x=[2 1+2i;-0.45 5]; >> z2=1/2*log(x+sqrt(1+x^2)) z2 = 0.7120 - 0.0253i 0.8968 + 0.3658i 0.2209 + 0.9343i 1.2041 - 0.0044i 2.9,,2.9, 3.0

>> 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) (>> z33=(exp(0.3*a)-exp(-0.3*a))/2.*sin(a+0.3)+log((0.3+a)/2)可以验证z3==z33,是否都为1) z3 = Columns 1 through 5 0.7388 + 3.2020i 0.7696 + 3.2020i 0.7871 + 3.2020i 0.7920 + 3.2020i 0.7822 + 3.2020i Columns 6 through 10 0.7602 + 3.2020i 0.7254 + 3.2020i 0.6784 + 3.2020i 0.6206 + 3.2020i 0.5496 + 3.2020i Columns 11 through 20 0.4688 + 3.2020i 0.3780 + 3.2020i 0.2775 + 3.2020i 0.2080 + 3.2020i 0.0497 + 3.2020i

东南大学-数值分析上机题作业-MATLAB版

2015.1.9 上机作业题报告 JONMMX 2000

1.Chapter 1 1.1题目 设S N =∑1j 2?1 N j=2 ,其精确值为 )1 1 123(21+--N N 。 (1)编制按从大到小的顺序1 1 131121222-+ ??+-+-=N S N ,计算S N 的通用程序。 (2)编制按从小到大的顺序1 21 1)1(111222-+ ??+--+-= N N S N ,计算S N 的通用程序。 (3)按两种顺序分别计算64210,10,10S S S ,并指出有效位数。(编制程序时用单精度) (4)通过本次上机题,你明白了什么? 1.2程序 1.3运行结果

1.4结果分析 按从大到小的顺序,有效位数分别为:6,4,3。 按从小到大的顺序,有效位数分别为:5,6,6。 可以看出,不同的算法造成的误差限是不同的,好的算法可以让结果更加精确。当采用从大到小的顺序累加的算法时,误差限随着N 的增大而增大,可见在累加的过程中,误差在放大,造成结果的误差较大。因此,采取从小到大的顺序累加得到的结果更加精确。 2.Chapter 2 2.1题目 (1)给定初值0x 及容许误差ε,编制牛顿法解方程f(x)=0的通用程序。 (2)给定方程03 )(3 =-=x x x f ,易知其有三个根3,0,3321= *=*-=*x x x ○1由牛顿方法的局部收敛性可知存在,0>δ当),(0δδ+-∈x 时,Newton 迭代序列收敛于根x2*。试确定尽可能大的δ。 ○2试取若干初始值,观察当),1(),1,(),,(),,1(),1,(0+∞+-----∞∈δδδδx 时Newton 序列的收敛性以及收敛于哪一个根。 (3)通过本上机题,你明白了什么? 2.2程序

Matlab编程与应用习题和一些参考答案

Matlab 上机实验一、二 3.求下列联立方程的解???????=+-+-=-+=++-=--+4 1025695842475412743w z y x w z x w z y x w z y x >> a=[3 4 -7 -12;5 -7 4 2;1 0 8 -5;-6 5 -2 10]; >> b=[4;4;9;4]; >> c=a\b 4.设???? ??????------=81272956313841A ,??????????-----=793183262345B ,求C1=A*B’;C2=A’*B;C3=A.*B,并求上述所有方阵的逆阵。 >> A=[1 4 8 13;-3 6 -5 -9;2 -7 -12 -8]; >> B=[5 4 3 -2;6 -2 3 -8;-1 3 -9 7]; >> C1=A*B' >> C2=A'*B >> C3=A.*B >> inv(C1) >> inv(C2) >> inv(C3) 5.设 ????? ?++=)1(sin 35.0cos 2x x x y ,把x=0~2π间分为101点,画出以x 为横坐标,y 为纵坐标的曲线。 >> x=linspace(0,2*pi,101); >> y=cos(x)*(0.5+(1+x.^2)\3*sin(x)); >> plot(x,y,'r') 6.产生8×6阶的正态分布随机数矩阵R1, 求其各列的平均值和均方差。并求该矩阵全体数的平均值和均方差。 (mean var ) a=randn(8,6) mean(a) var(a) k=mean(a) k1=mean(k) i=ones(8,6) i1=i*k1 i2=a-i1 i3=i2.*i2 g=mean(i3) g2=mean(g) 或者 u=reshape(a,1,48); p1=mean(u)

matlab上机作业

第一次 上机作业 1.写出完成下列操作的命令: 1) 将矩阵A 的第2~5行中的第1,3,5列元素赋给矩阵B B=A(:,1:3:5) 2) 删除矩阵A 的第7号元素 A(7)=[] 3) 将矩阵A 的每个元素值加30 A=A+30 4) 求矩阵A 的大小和维数 Whos size(A) 5) 将含有12个元素的向量x 转换成3×4矩阵 Y=reshape(x,3,4) 2.下列命令执行后,L1、L2、L3、L4的值分别是多少? A=1:9; B=10-A; L1=A= =B; L2=A< =5; L3=A>3&A<7; L4=find(A>3&A<7); L1= 0 0 0 0 1 0 0 L2=1 1 1 1 1 0 0 L3=0 0 0 1 1 1 0 L4=4 5 6 3.已知: A=????? ???????---14.35454.9632053256545410778.01023

完成下列操作: (1)取出A的前3行构成矩阵B,前两列构成矩阵C,右下角3×2子矩阵构成矩 阵D,B与C的乘积构成矩阵E B=A(1:3,:) C=A(:,1:2) D=A(2:4,3:4) E=B*C (2)分别求E=10&A<25)。 1.E=10&A<25) 1 5 4.用结构体矩阵来储存5名学生的基本情况数据,每名学生的数据包括学号、姓名、专业和6门课程的成绩。 例如 a(1).x1=1;a(1).x2=’name’;a(1).x3=’grade’;a(1).x4=’number’;a(1).x5=[XX,XX,X];

MATLAB上机题汇总(较难题,抽1题)合肥学院

1.根据下面的方程绘制图形,y=cos(x)+x ,x 取值-pi-pi ,然后用多项式拟合函数进行拟合。 2.要求编写一个函数文件,将一个给定图片的所有颜色都变深(变深多少自己斟酌),其中黑色为0,白色为255 3.根据下面的方程绘制图形,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 y 6.函数文件的编写 编写函数文件,求半径为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.wav

相关文档
相关文档 最新文档