Matlab 程序语法学习(三)

一、顺序结构设计

(1)程序的定义:程序控制下自动工作,为了完成不同的任务,需要设计不同的算法

(2)程序设计的过程:

Matlab 程序语法学习(三)_第1张图片

 (3)程序文件分脚本文件和函数文件,文件建立

Matlab 程序语法学习(三)_第2张图片

例子:建立两种文件实现矩阵乘积 

Matlab 程序语法学习(三)_第3张图片

(4)数据的输入输出:

A= input(‘请输入变量A的值’)
>>A = 100



disp(A) %输出A的值

(5)程序的暂停:pause(延迟函数)

举例:

 

提示:可以转化成复数直接求模的形式求线段长度 

 

Matlab 程序语法学习(三)_第4张图片

 

 

Matlab 程序语法学习(三)_第5张图片

 二、选择结构

(1)选择结构定义:别称为分支结构,是根据给定的条件是否成立来决定程序的执行流程。

Matlab 程序语法学习(三)_第6张图片

(2)  单分支语句组:

Matlab 程序语法学习(三)_第7张图片

(3)双分支条件语句:

 

Matlab 程序语法学习(三)_第8张图片

举例:求奇数平方根或者偶数立方根 

x = input('请输入x的值:');
if rem(x,2) == 1
    y = sqrt(x);
else
    y = x^(1/3);
end


% pow可以求指数

 (4)多分支语句:

Matlab 程序语法学习(三)_第9张图片

例二:输入字符,大写->小写 ;小写->大写; 数字求平方

 

Matlab 程序语法学习(三)_第10张图片

三、Switch语句 

(1)格式:

Matlab 程序语法学习(三)_第11张图片

(2)值可以列举

举例:判断英文单词是否元音字母开头 

Matlab 程序语法学习(三)_第12张图片

%或者

c = input('请输入一个单词:'','s');
if findstr(c(1),'AEIOUaeiou')>0
    disp([c,'以元音字母开头']);
else
    disp([c,'以辅音字母开头']);
end

 四、for语句实现循环结构

(1)什么是循环结构:

Matlab 程序语法学习(三)_第13张图片

 (2)格式:

Matlab 程序语法学习(三)_第14张图片

 (3)说明:

Matlab 程序语法学习(三)_第15张图片

 举例:求圆周率

(1)利用无穷级数:

Matlab 程序语法学习(三)_第16张图片

 

%(1)
y = 0
g = -1
n = input('n=?');
for i = 1:n
    g = -g;
    y = y+g*1/(2*i-1);
end
pai = 4*y

%(2)
n = input('n=?');
x = 1:2:(2*n-1);
y = (-1).^(2:n+1)./x;
pai = sum(y)*4

 (2)利用定积分求近似值:

Matlab 程序语法学习(三)_第17张图片

 

a = 0;
b = 1;
n = input('n=?');
h = (b-a)/n;
x = a:h:b;
f = sqrt(1-x.*x);
s = [];
for k=1:n
    s1 =(f(k)+f(k+1))*h/2;
    s = [s,s1];
end
pai = 4*sum(s)

 (3)蒙特卡洛法求值:

Matlab 程序语法学习(三)_第18张图片

 

s = 0;
n = input('n=?');
for i = 1:n
    x = rand(1);
    y = rand(1);
    if x*x+y*y<=1
        s = s+1;
    end
end
pai = s/n*4;

(3)for语句也可以是列向量,行向量 4次   列向量一次;

五、while循环

(1)格式:(适用于次数不确定的情况下)可以通过continue和break控制循环

Matlab 程序语法学习(三)_第19张图片

 举例:

Matlab 程序语法学习(三)_第20张图片

 (2)循环嵌套:筛选法求素数)

m = input('m=');
p = 1:m;
p(1) = 0;
for i = 2:sqrt(m)
    for j=2*i:i:m
        p(j) = 0;
    end
end
n = find(p~=0);
p(n)

六、函数文件的定义和调用

(1)函数文件的基本结构:(函数文件名和函数名区别很大,尽量统一)

Matlab 程序语法学习(三)_第21张图片

 例题:

Matlab 程序语法学习(三)_第22张图片

 (2)匿名函数:

Matlab 程序语法学习(三)_第23张图片

 例题:

Matlab 程序语法学习(三)_第24张图片

Matlab 程序语法学习(三)_第25张图片

 七、函数递归

(1)函数嵌套调用:一个函数调用其他函数

(2)递归调用:调用自身,计算开销大

(3)分类:

Matlab 程序语法学习(三)_第26张图片

 例题:Fibonacci数列

Matlab 程序语法学习(三)_第27张图片

 

Matlab 程序语法学习(三)_第28张图片

你可能感兴趣的:(Matlab)