matlab实习报告

时间:2024.4.13

仿真技术综合设计

 


 

1.问题一

从100开始,顺次搜寻回文数,按照从小到大排列,显示前100个回文数。所谓回文数是指:一个正整数如果顺着和反过来都是一样的(如13431,反过来也是13431,就称为回文数)

1.1源代码

t=1;

n=100;

while t<=100

    a=num2str(n);    %将n转换为字符串赋给a

    b=a(end:-1:1);   %将a倒叙输出赋给b

    if a==b

        fprintf('%d\n',n)

       t=t+1;

       n=n+1;

    else

       n=n+1;

    end

End

1.2结果

>> huiwenshu1

101 111 121 131 141 151 161 171 181 191 202 212 222 232 242 252 262 272 282 292 303 313 323 333 343 353 363 373 383 393 404 414 424 434 444 454 464 474 484 494 505 515 525 535 545 555 565 575 585 595 606 616 626 636 646 656 666 676 686 696 707 717 727 737 747 757 767 777 787 797 808 818 828 838 848 858 868 878 888 898 909 919 929 939 949 959 969 979 989 999 1001 1111 1221 1331 1441 1551 1661 1771 1881 1991

2.问题二

从1开始,顺次搜寻质数,按照从小到大排列,显示前100个质数。

2.1源代码

n=1;

m=1;

while n<=100

    if isprime(m)

        fprintf('%d\n',m)   %运用isprime()函数判断是否为质数

        n=n+1;

    end

    m=m+1;

end

2.2结果

>> zhishu2

2 3 5 7 11 13 17 19 23 29 31 37 41 43 47 53 59 61 67 71 73 79 83 89 97 101 103 107 109 113 127 131 137 139 149 151 157 163 167 173 179 181 191 193 197 199 211 223 227 229 233 239 241 251 257 263 269 271 277 281 283 293 307 311 313 317 331 337 347 349 353 359 367 373 379 383 389 397 401 409 419 421 431 433 439 443 449 457 461 463 467 479 487 491 499 503 509 521 523 541

3.问题三

判断输入的正整数是否既是5的倍数,又是7的倍数,如果是,则显示yes,否则显示no

3.1源代码

n=input('输入n= ');

if (mod(n,5)==0 & mod(n,7)==0)     %判断能否同时被5和7整除

    fprintf('YES\n')

else

   fprintf ('NO\n')

end

3.2结果

4.问题四

求一个不超过五位的十进制整数各位数值的和。(如输入2634,输出15)

4.1源代码

n=input('输入n= ');

if n<=99999

sum=0;

   while n~=0

      sum=sum+mod(n,10);%运用mod函数取余,将各位数分解相加

      n=floor(n/10);

   end

   sum

else

   fprintf('error\n')

end

4.2结果

5.问题五

从100开始,顺次搜寻水仙花数,按照从小到大排列,显示前10个水仙花数。

水仙花数是指一个 n 位数 ( n≥3 ),它的每个位上的数字的 n 次幂之和等于它本身。(例如:1^3 + 5^3 + 3^3 = 153)

5.1源代码

t=1;

n=100;

while t<=10

    sum=0;

      p=n;

      m=1+floor(log10(p));     %求出位数

    while p~=0         %求出每个位上的数字的 m 次幂之和

       k=mod(p,10);      %取余

       k=k^m;

      sum=sum+k;

      p=floor(p/10);

    end

  if sum==n

    fprintf('%d\n',n)

    t=t+1;

    n=n+1;

  else

    n=n+1;

  end

end

5.2结果

>> shuixianhua5

 153 370 371 407 1634 8208 9474 54748 92727 93084

6.问题六

利用GUI编程设计一个计算器,功能越丰富越好,写出必要的流程图,设计思路,算法注释,运行状况示例,必要的截图等等。

6.1源代码

设置按钮“1”

textString = get(handles.text1,'String');

textString =strcat(textString,'1');

set(handles.text1,'String',textString)

设置按钮2、3、4、5、6、7、8、9、0、“.(小数点)”、π

+(加)、-(减)、*(乘)、/(除)、^(幂)sin、cos、tan、cot

设置方法类似,即将textString =strcat(textString,'1');中的1改为对于的运算符号即可。

设置按钮“=”

textString = get(handles.text1,'String');

ans =eval(textString);

           %eval()函数的功能就是将括号内的字符串视为语句并运行

set(handles.text1,'String',ans)

设置按钮“(”

textString = get(handles.text1,'String');

if(strcmp(textString,'0.')==1)

set(handles.text1,'String','(')

else

textString =strcat(textString,'(');

set(handles.text1,'String',textString)

end

设置按钮“)”

textString = get(handles.text1,'String');

if(strcmp(textString,'0.')==1)

set(handles.text1,'String',')') 

else

textString =strcat(textString,')');

set(handles.text1,'String',textString)

end

设置按钮“del”

set(handles.text1,'String','')

6.2结果


第二篇:Matlab 实验报告


xxxx

实 验 报 告

                        

                        

                        

                        

                        


                            

                                 

                              




  一实验目的

  二实验原理

  三实验仪器


四实验方法及步骤

五实验记录及数据处理

六误差分析及问题讨论




目 录

1.  实验一:Matlab基本语法与绘图                                            

2.  实验二:Matlab解规划问题                                                         

3.  实验三:Matlab解微积分与微分方程                                                   

4.  试验四:Matlab解最短路问题                                            

5.  试验五:概率统计模型                                                    

6.                                                                          

7.                                                                            

8.                                                                            

9.                                                                             

10.                                                                       

11.                                                                    

12.                                                                       

13.                                                                               

14.                                                                         

15.                                                                   

每次实验课必须带上此本子,以便教师检查预习情况和记录实验原始数据。

实验时必须遵守实验规则。用正确的理论指导实践袁必须人人亲自动手实验,但反对盲目乱动,更不能无故损坏仪器设备这是一份重要的不可多得的自我学习资料袁它将记录着你在大学生涯中的学习和学习成果。请你保留下来,若干年后再翻阅仍将感到十分新鲜,记忆犹新。它将推动你在人生奋斗的道路上永往直前!

实验一 Matlab基本语法与绘图

1.实验课程名称   数学实验

2.实验项目名称   Matlab基本语法与绘图

3.实验目的和要求

了解Matlab的基本知识,熟悉其上机环境,掌握利用Matlab进行基本运算的方法,Matlab矩阵运算、循环语句与绘图。

4.实验内容和原理

内容:1.矩阵A+B

     

2. 在[-1,2]上画的图形

原理:利用二维图形和三维图形的Matlab编程的语言,编写简单的二维图形和三维图形的程序。

5.主要仪器设备 

计算机与Windows 20##/XP系统;Matlab等软件。

6.操作方法与实验步骤

步骤:1.(1)打开Matlab,新建file-M文件

        (2)在M文件编辑窗口输入以下程序

                  A=[1 2 3 4 ;5 6 7 8;9 10 11 12]

               B=[1 1 1 1

                  2 2 2 2

                  3 3 3 3]

           (3)点击执行按钮,运行其代码

    2. (1)打开Matlab,新建file-M文件

          (2)在M文件编辑窗口输入以下程序,并以文件名”shiyan5.2.m” 保存:         fplot('exp(2*x)+sin(3*x.^2)',[-1,2])

       (3)点击执行按钮,运行其代码

7.实验结果与分析

实验结果与分析:

  1.

         ans =

            2     3     4     5

            7     8     9    10

        12    13    14    15

即为A+B的结果

2. fplot函数不能画参数方程和隐函数图形,但在一个图上可以画多个图形。


即为在[-1,2]上画的图形

实验二 Matlab解规划问题

1.实验课程名称   数学实验

2.实验项目名称   Matlab解规划问题

3.实验目的和要求

学会应用Matlab软件求解线性规划和非线性规划。

4.实验内容和原理

内容:1.      

2.      

3.

原理:利用求解线性规划的单纯形法和非线性规划求解思路,应用Matlab软件求解线性规划和非线性规划。

5.主要仪器设备 

计算机与Windows 20##/XP系统;Matlab等软件。

6.操作方法与实验步骤

步骤:1.(1)打开Matlab,新建file-M文件

        (2)在M文件编辑窗口输入以下程序,并以文件名”fun.m”                  保存:    function f=fun(x);

          f=-2*x(1)-x(2);

再新建一个M文件,mycon2.m定义非线性约束:

          function [G,Ceq]=mycon2(x)

          G=[x(1)^2+x(2)^2-25;x(1)^2-x(2)^2-7];Ceq=[ ];

再建一个主程序M文件,f1.m文件:

          x0=[3;2.5];

          VLB=[0,0];

          VUB=[5,10];

           A=[];

           B=[];

           Aeq=[];

           beq=[];

     [x,fval]=fmincon('fun',x0,A,b,Aeq,beq,VLB,VUB,'mycon2')

    (3)点击保存和执行按钮,运行其代码

2. (1)打开Matlab,新建file-M文件

        (2)在M文件编辑窗口输入以下程序,并以文件名”fun.m”                保存:C=[5 6 7 8];

 A=[-5 -4 -5 -6;2 1 1 4];

 b=[-530;160];

 Aeq=[1 1 1 1];

 beq=[100];

 vlb=[0,0,0,0];

 vub=[];

 [x,fval]=linprog(C,A,b,Aeq,beq,vlb,vub)

(3)点击保存和执行按钮,运行其代码

3.(1)打开Matlab,新建file-M文件

  (2)先建立M-文件 fun3.m:

    function f=fun3(x);

f=-x(1)-2*x(2)+(1/2)*x(1)^2+(1/2)*x(2)^2

  (3)再建立主程序youh2.m:

        x0=[1;1];

     A=[2 3 ;1 4];

     b=[6;5];

     Aeq=[];

     beq=[];

     VLB=[0;0];

     VUB=[];

   [x,fval]=fmincon('fun3',x0,A,b,Aeq,beq,VLB,VUB)

  (4)点击保存和执行按钮,运行其代码

7.实验结果与分析

实验结果与分析:

1.实验结果与分析:

x =

    4.0000

    3.0000

fval =-11.0000

fmincon函数可能会给出局部最优解,这与初值X0的选取有关。该输出的结  果有两个最值x1=4.0000和x2=3.0000并且在此时x处的值fval为-11.0000

2.实验结果: x1=0.0000

                    x2=0.0000

                    x3=82.8571

                    x4=19.2857    此时x处的目标函数值为734.2587。

3.运算结果为:

   x = 0.7647       1.0588

   fval =   -2.0294

分析:[1]若没有不等式:存在,则令A=[ ],b=[ ].

      [2]若没有等式约束:Aeq*X=beq, 则令Aeq=[ ], beq=[ ]

      [3]由此结果得出该函数的最优解为x1=0.0000,x2=0.0000,x3=82.8571,x4=19.2857及在此时x处的目标函数值为734.2587

实验三 Matlab解微积分与微分方程

1.实验课程名称   数学实验

2.实验项目名称   Matlab程序设计

3.实验目的和要求

    掌握使用符号运算解决符号推导、微积分、方程等问题的方法。了解符号运算的有关概念,懂得符号运算的方法。学会用计算机解决符号推导、微积分、方程等问题,了解微分方程稳定性的概念及其在数学建模中的应用,初步学会建立微分方程或差分方程模型以解决实际问题,掌握用Matlab软件求微分方程解析解和求数值解的方法。

4.实验内容和原理

内容:1.求函数  的二阶导数函数

2. 求微分方程

原理:利用建立微分方程模型的一般方法和微分方程稳定性的概念及其在数学建模中的应用,利用Matlab软件求微分方程解析解和求数值解。

5.主要仪器设备 

计算机与Windows 20##/XP系统;Matlab等软件。

6.操作方法与实验步骤

步骤:1.(1)打开Matlab,新建file-M文件

         (2)在M文件编辑窗口输入以下程序,并以文件名”erjiedao.m” 保存:                

                       syms x;

W=diff('x^2*log(1-x^2)',2)

          (3)点击执行按钮,运行其代码

2. (1)打开Matlab,新建file-M文件

     (2)在M文件编辑窗口输入以下程序,并以文件名”qiujizhi.m” 保存:                                  

       function dy=fun(x,y)

       dy=zeros(2,1);

       dy(1)=y(2);

       dy(2)=-4*y(2)-29*y(1);

   再建立M文件

       [T,Y]=ode45('fun',[0,10],[0,15]);

        plot(T,Y(:,1),'-')

(3)点击执行按钮,运行其代码

7.实验结果与分析

  实验结果与分析:

1.  W =

      2*log(1-x^2)-10*x^2/(1-x^2)-4*x^4/(1-x^2)^2

即为函数  的二阶导数函数

2.

       

    此图y关于x的图形。

实验四  Matlab解最短路问题

1.实验课程名称   数学实验

2.实验项目名称   Matlab解最短路问题

3.实验目的和要求

    了解用Matlab软件求解图论模型及层次分析模型的方法。

4.实验内容和原理

内容:1.某城市要建立一个消防站,为该市所属的七个区服务,如图所示.问应设在那个区,才能使它至最远区的路径最短。


2.某矿区有七个矿点,如图所示.已知各矿点每天的产矿量 (标在图的各顶点上).现要从这七个矿点选一个来建造矿厂.问应选在哪个矿点,才能使各矿点所产的矿运到选矿厂所在地的总运力(千吨公里)最小.


原理:利用层次分析法和图论方法模型的一般概念,理解建立层次分析法和图论方法模型的一般方法,初步学会建立层次分析法和图论方法模型以解决实际问题。

5.主要仪器设备 

计算机与Windows 20##/XP系统;Matlab等软件。

6.操作方法与实验步骤

步骤:1.(1)用Floyd算法求出距离矩阵D=

        (2)计算在各点设立服设                  施的最大服务距离

                 

    (3) 求出顶点,使

建立M文件

       a=[0 3 inf inf inf inf inf;

          3 0 2 inf 18 2.5 inf;

      inf 2 0 6 2 inf inf;

      inf inf 6 0 3 inf inf;

      inf 18 2 3 0 4 inf;

      inf 2.5 inf inf 4 0 1.5;

      inf inf inf inf inf 1.5 0];

  [D,R]=floyd(a)

点击运行

就是要求的建立消防站的地点.此点称为图的中心点.

2. (1)求距离阵D=

() 计算各顶点作为选矿厂的总运力

                 

      (3)求使

      (4)建立M文件

   a=[0 3 inf inf inf inf inf;

       3 0 2 inf inf 4 inf;

      inf 2 0 6 2 inf inf;

      inf inf 6 0 1 inf inf;

      inf inf 2 1 0 4 inf;

      inf 4 inf inf 4 0 1.5;

      inf inf inf inf inf 1.5 0];

   [D,R]=floyd(a)

  q=[3,2,7,1,6,1,4];

  m=0; 

  for i=1:7

  for j=1:7

  m=m+q(i)*D(i,j);

  end

  m

  m=0;

  end

   点击运行

   (5)则就是选矿厂应设之矿点.此点称为图G的重心或中位点.


7.实验结果与分析

实验结果与分析:1.

S(v1)=10, S(v2)=7, S(v3)=6, S(v4)=8.5, S(v5)=7, S(v6)=7, S(v7)=8.5

S(v3)=6,故应将消防站设在v3处。

 2.


由上述公式可得:

m(v1)=38.5*3=115.5, m(v2)=23.5*2=47, m(v3)=23.5*7=164.5, m(v4)=28.5, m(v5)=23.5*6=141, m(v6)=27.5, m(v7)=35*4=140

再求其中的最小值,m(v6)=27.5,则就是选矿厂应设之矿点.

 

实验五  概率统计模型

1.实验课程名称   数学实验

2.实验项目名称   概率统计模型

3.实验目的和要求

理解和掌握一元线性回归、多元线性回归、非线性回归的概念,初步学会建立以上各种类型的数学模型以解决实际问题,理解回归分析的理论方法和求解思路,学会应用Matlab软件求解线性回归和非线性回归,Matlab统计数据与回归分析(线性拟合(regress)和非线性拟合(nlinfit))。

4.实验内容和原理

内容:1.测16名成年女子的身高与腿长所得数据如下:

以身高为横坐标,以腿长为纵坐标将这些数据点在平面直角坐标系上标出,并用线性回归估计的系数。

2.设某商品的需求量与消费者的平均收入、商品价格的统计数 据如下,建立回归模型,预测平均收入为1000、价格为6时 的商品需求量.

原理:利用一元线性回归、多元线性回归、非线性回归的概念,应用Matlab软件求解线性回归和非线性回归。

5.主要仪器设备 

    计算机与Windows 20##/XP系统;Matlab等软件。

6.操作方法与实验步骤

步骤:1.输入数据:

x=[143 145 146 147 149 150 153 154 155 156 157 158 159 160 162 164]';                                X=[ones(16,1) x];

 Y=[88 85 88 91 92 93 93 95 96 98 97 96 98 99 100 102];

[b,bint,r,rint,stats]=regress(Y,X)

b,bint,stats

2.第二问:选择纯二次模型,即

输入数据:x1=[1000 600 1200 500 300 400 1300 1100 1300 300];

           x2=[5 7 6 6 8 7 5 4 3 9];

           y=[100 75 80 70 50 65 90 100 110 60]';

           x=[x1' x2']; rstool(x,y,'purequadratic')

7.实验结果与分析

结果:b =                   bint =

             -16.0730                 -33.7071    1.5612

              0.7194                   0.6047    0.8340

     stats=0.9282 180.9531 0.0000 

        

分 析:即的置信区间为[-33.7017,1.5612], 的置信区间为[0.6047,0.834]; r2=0.9282, F=180.9531, p=0.0000 p<0.05, 可知回归模型 y=-16.073+0.7194x 成立.

故回归模型为:剩余标准差为4.5362, 说明此回归模型的显著性较好.

更多相关推荐:
Matlab实习报告

MATLAB实习报告姓名:学院:电气信息工程学院专业:电子信息工程班级学号:信息(2)班指导教师:实习时间:20xx,5,13至20xx,5,17目录:一:实习目的.......................…

matlab实习报告

MATLAB实习报告1实验一MATLAB运算基础王夏20xx301610405一实验目的1熟悉启动和退出MATLAB的方法2熟悉MATLAB命令窗口的组成3掌握建立矩阵的方法4掌握MATLAB各种表达式的书写规...

matlab实习报告(最新)

1求fx4x6xx395在0100上最大值最小值根使用函数fminbndrootsgtgtxyfminbnd394x6xx395390100x04432y953258gtgtxyfminbnd394x6xx39...

matlab实训报告

湖南大学MATLAB工程实训报告题目学院名称专业班级学生姓名学号指导老师目录第一节MATLAB工程实训意义111MATLAB工程训练目的及要求212MATLAB工程训练内容及意义313MATLAB选题及题目的应...

matlab实训报告

仿真平台与工具应用实践报告院系专业班级姓名学号指导老师一设计目的Matlab现在的发展已经使其成为一种集数值运算符号运算数据可视化图形界面设计程序设计仿真图像处理电路设计等多种功能于一体1的集成化软件在矩阵方面...

matlab实习十一

西南交通大学本科生实习报告任务组号03课程名称程序设计及应用课程代码实习周数1学分实习单位物理学院实习地点图书馆机房实习时间1234567西南交通大学本科生实习报告8西南交通大学本科生实习报告9

Matlab软件实习报告

专业软件实验报告院系专业班级学号号姓名指导教师20xx年6月2日目录一数学专业软件简介3二Matlab的应用51Matlab基本操作介绍软件132Matlab的作图软件263Matlab的程序设计软件3914M...

MatLab平差计算实习报告

MatLab平差计算实习报告1实验目的和内容实验目的1掌握条件平差原理和计算条件方程的建立误差方程的建立误差方程的求解精度计算2掌握MatLab平差计算实验内容条件平差计算不同条件方程计算计算结果比较条件方程一...

matlab实习六

西南交通大学本科生实习报告任务任务号组号课程名称MATLAB程序设计及应用课程代码实习周数一周学分实习单位物理科学与技术学院实习地点图书馆实习时间123西南交通大学本科生实习报告45西南交通大学本科生实习报告6

matlab实习十三

西南交通大学本科生实习报告任务任务号组号1303课程名称课程代码实习周数2学分实习单位物理学院实习地点图书馆机房实习时间12345西南交通大学本科生实习报告67西南交通大学本科生实习报告8

matlab实习报告[1]

Matlab上机实习报告学院电子信息学院班级信息105学号姓名张三20xx年6月28日前段时间我们进行了Matlab上机实习实习了有五天共做了四个部分分别是一Matlab基本操作二数值数组及其运算三Matlab...

20xx年秋matlab实习报告

MATLAB软件设计实验报告学号MATLAB软件设计实验学院地球物理与信息技术学院学号1010121310姓名陈改杰1写代码实现或填空5分123456781将矩阵赋给变量a9876a1234567898762将...

matlab实习报告(20篇)