数学软件实训任务一

一 题目:MATLAB程序设计及应用初步

二 目的:掌握MATLAB程序设计的基本方法,会利用MATLAB程序设计思想编程处理一些简单问题。

三 要求:

1 掌握控制流的基本语法结构。

2 会应用for循环,while循环及分支语句if …else和switch…case等进行编程。

3 结合实际应用,会用基本语句进行简单的交叉编程。

四 实训内容:

            1 MATLAB控制流语法结构及其意义

    (1) 循环语句

      for循环语句结构

        for 循环变量=数组

          指令组;

        end

        对于循环变量依次取数组中的值,循环指令组直到循环变量遍历数组。数组最常用的形式是:初值:增量:终值。

     while循环语句结构

       while  条件式

        指令组

       End

         当条件式满足,指令组一直执行,循环指令组直到条件式不满足。使用while语句要注意避免出现死循环。

    (2)分支语句

      if …else分支语句结构

        if 条件式1,

           指令组 1;

        elseif 条件式2

          指令组 2;

        ………

        else

           指令组 k;

         End

        如果条件式1满足,则执行指令组1.且结束该语句;否则检查条件式2,如果条件式2满足,且结束该语句;……,若所有条件式都不满足,则执行指令组k并结束该语句。

      switch分支语句结构

        switch  分支变量,

        case值1,

          指令组1 ;

        case值2,

           指令组2 ;

          ………

           otherwise

           指令组k;

        end

         若分支变量取值1,则执行指令组1,且结束该语句;若分支变量取值2,则执行指令组2,且结束该语句;……;若分支变量不取所列的值,则执行指令组k并结束该语句。

    (3)中断语句

      pause 中断语句

      暂停执行,直到击键盘。pause(n)暂停n秒后再继续。

      pause 中断语句

      break中断执行,用在循环语句内表示跳出循环。

      return中断执行该程序,回到主调函数或指令窗口

      error 提示错误并显示字符串说明

2 编程计算

(1)  计算$\sum_{n=1}^{100}\frac{1}{n^{2}}$

代码:

>> s=0;
>> for i=1:1:100
s=s+1./(i*i);
end
>> s s = 1.6350

(2)已知矩阵$a_{m*n}$的元素$a_{ij}=i+j$,使求当m=3,n=4时,$a_{ij}$的全部元素。

clear
A=zeros(3,4);
for i=1:3
for j=1:4
A(i,j)=i+j;
end
end
>> A A = 2 3 4 5
3 4 5 6
4 5 6 7

(3)利用while循环语句来计算1!+2!+3!+...+50!

>> ans=0;s=1;i=1;
>> while(i<=50)
s=s*i;
ans=ans+s;
i=i+1;
end
>> ans ans = 3.1035e+64

(4)试用条件分支语句编程计算函数

$f(x)=\left\{\begin{matrix}
x & x<1\\
2x-1& 1\leq x\leq 10\\
3x-11& 10\leq x\leq 30\\
sinx+cosx &x>30
\end{matrix}\right.$

%m文件
function y=fenduan(x)
if x<1
y=x;
elseif x>=1&&x<=10
y=2*x-1;
elseif x>=10&&x<=30
y=3*x-11;
else
y=sin(x)+log(x);
end %调用
g=fenduan(1) g = 1

(5)试用if语句描述符号函数

$g(x)=\left\{\begin{matrix}
1 &x>0 \\
0&x=0 \\
-1 &x<0
\end{matrix}\right.$

%m文件
function y=fenduan(x)
if x>0
y=1;
elseif x==0
y=0;
elseif x<0
y=-1;
end %调用
g=fenduan(-12) g = -1

(6)编写一个转换成绩等级的函数文件,其中成绩等级转换标准为考试成绩分数在[90,100]分显示优秀,在[80,89]显示良好,[60,79]显示及格,在[0,59]显示不及格。

%m文件
function y=score(x)
switch fix(x/10)
case {10,9}
fprintf('优秀\n')
case 8
fprintf('良好\n')
case {6,7}
fprintf('及格\n')
otherwise
fprintf('不及格\n')
end %调用
score(90)
优秀

(7)公元前五世纪我国古代数学家张丘建在《算经》一书中提出了“百鸡问题”。鸡翁一值钱五,鸡母一值钱三,鸡雏三值钱一,百钱买百鸡,问鸡翁、鸡母、鸡雏各几何?

for i=0:100
for j=0:100-i
if(i*15+9*j+(100-i-j)==300)
[i,j,100-i-j]
end
end
end

(8)设是一长度为n的数组

编程计算

$s=\sqrt{\frac{1}{n-1}\begin{bmatrix}
\sum_{i=1}^{n}{x_{i}}^{2}-n\overline{x}
\end{bmatrix}^{2}}$

,$n>1,\overline{x}=\frac{1}{n}\sum_{i=1}^{n}x_{i}$

计算出当x=[3,4,7,8,12]时的$\overline{x}$及s的值。

%m文件
function [s1,s]=fc1(x)
s1=0;s2=0;s3=0; %s1是平均数,s2是平方累加,s3是根号内方程的值,s是最终结果;¹û£»
n=length(x);
for i=1:n
s1=s1+x(i);
s2=s2+x(i)*x(i);
end
s1=s1/n;
s3=(s2-n*s1)*(s2-n*s1)/(n-1);
s=sqrt(s3); %调用
x=[3 4 7 8 12];
[a,b]=fc1(x) a = 6.8000 b = 124

(9)求满足$\sum_{n=0}^{m}ln(1+n)>100$的最小的m值

>> s=0;
>> i=0;
>> while(s<100)
s=s+log(1+i);
i=i+1;
end
>> i-1 ans = 37

数学软件实训1-MATLAB程序设计及应用初步的更多相关文章

  1. 数学软件实训2-MATLAB程序综合设计及应用

    数学软件实训任务二 一 题目:MATLAB程序综合设计及应用 二 目的:熟练掌握MATLAB程序设计的基本方法,会根据MATLAB程序设计的 三 要求: 1 熟练掌握控制流的基本语法结构. 2 会熟练 ...

  2. 杂项-数学软件:MATLAB

    ylbtech-杂项-数学软件:MATLAB MATLAB是美国MathWorks公司出品的商业数学软件,用于算法开发.数据可视化.数据分析以及数值计算的高级技术计算语言和交互式环境,主要包括MATL ...

  3. 数学软件 之 基于MATLAB的DFP算法

    DFP算法是本科数学系中最优化方法的知识,也是无约束最优化方法中非常重要的两个拟Newton算法之一,上一周写了一周的数学软件课程论文,姑且将DFP算法的实现细节贴出来分享给学弟学妹参考吧,由于博客不 ...

  4. Android实训案例(九)——答题系统的思绪,自己设计一个题库的体验,一个思路清晰的答题软件制作过程

    Android实训案例(九)--答题系统的思绪,自己设计一个题库的体验,一个思路清晰的答题软件制作过程 项目也是偷师的,决心研究一下数据库.所以写的还是很详细的,各位看官,耐着性子看完,实现结果不重要 ...

  5. 数学软件Matlab的使用感受

    在我一年前的暑假,我们的小学期学习了MATLAB软件.MATLAB是一款数学软件,可以用于算法计算.数据可视化.数据分析以及数据计算. 我们主要学习了MATLAB关于数学上的经常用的一些用法和算法,M ...

  6. Mathematica 和 MATLAB、Maple 并称为三大数学软件

    Mathematica是一款科学计算软件,很好地结合了数值和符号计算引擎.图形系统.编程语言.文本系统.和与其他应用程序的高级连接.很多功能在相应领域内处于世界领先地位,它也是使用最广泛的数学软件之一 ...

  7. 《JAVA程序设计》实训第一天——《猜猜看》游戏

    课程实训是做一个猜猜看的小游戏.对于对代码不熟悉不了解的我来说的确挺难的.可是我还是会努力的. import java.awt.EventQueue; import javax.swing.JFram ...

  8. 《JAVA程序设计》实训第二天——《猜猜看》游戏

    课程实训第二天,我在第一天的基础上去导入目录,第一天那时候一直改动都是改动不到,上网找了相关的知识.问了同学该怎么去导入显示图片. public class weiwei extends JFrame ...

  9. Java企业实训 - 01 - Java前奏

    前言: 虽然个人专攻.NET方向,不过由于个人是干教育行业的,方方面面的东西,不能说都必须精通,但肯定多少都会涉及到. 一个菜鸟学员,从啥都不会,经过一步步学习,最后到企业上手掌管一个模块甚至一个项目 ...

随机推荐

  1. 在iOS项目中,这样才能完美的修改项目名称

    https://www.cnblogs.com/liangyi-cn/p/8657474.html 前言: 在iOS开发中,有时候想改一下项目的名字,这会遇到很多麻烦. 直接改项目名的话,Xcode不 ...

  2. sqlmap命令手册

    http://127.0.0.1/sqli-labs-master/Less-1/?id=1 当给sqlmap上面这么一个url的时候,它会自动: 1.判断可注入的参数 2.判断可以用那种SQL注入技 ...

  3. 第九届蓝桥杯B组决赛 调手表(完全背包)

    问题描述 M78 星云的一个小时有 n 分钟. 大家都知道,手表只有一个按钮可以把当前的数加一.在调分钟的时候,如果当前显示的数是 0 ,那么按一下按钮就会变成 1,再按一次变成 2 .如果当前的数是 ...

  4. 小程序使用scroll-view横向滑动时,flex布局失效问题

    最近在完善以前项目,类目增多,需要进行横向滑动 实现方法1 可以在外盒子scroll-view使用white-space: nowrap来禁止子盒子换行,子盒子使用display: inline-bl ...

  5. [转]No configuration found for the specified action 原因及解决方案

    转自 报错内容 警告: No configuration found for the specified action: 'login' in namespace: ''. Form action d ...

  6. struts标签 解析html标签

    参考:http://blog.csdn.net/shuangrenyu1234/article/details/24527745

  7. 牛客挑战赛36 G Nim游戏(分治FWT)

    https://ac.nowcoder.com/acm/contest/3782/G 题解: 分治FWT裸题. 每个都相当于\((1+b[i]x^{a[i]})\),求这玩意的异或卷积. 先把a[i] ...

  8. 采用Keepalived+Nginx解决方案实现高可用的API网关(下)

    1 Keepalived 3.1Keepalived介绍 Keepalived 是一种高性能的服务器高可用或热备解决方案,Keepalived 可以用来防止服务器单点故障的发生,通过配合 Nginx ...

  9. 6(计算机网络) 交换机与VLAN

    拓扑结构是怎么形成的? 我们常见到的办公室大多是一排排的桌子,每个桌子都有网口,一排十几个座位就有十几个网口,一个楼层就会有几十个甚至上百个网口.如果算上所有楼层,这个场景自然比你宿舍里的复杂多了.具 ...

  10. luogu P4014 分配问题

    简单的费用流问题,每个人对每个任务连边,每个任务对汇点连,源点对每个人连,最大费用取反即可 #include<bits/stdc++.h> using namespace std; #de ...