Matlab学习第四部分:M文件的程序设计

一、M文件

1、M文件的创建、保存、打开和运行

M文件的后最是.m

1.1 M文件的创建

  • 菜单方式

  • 快捷键方式

  • 命令方式:在命令窗口键入 edit 文件名

1.2 M文件的保存

  • 菜单方式

  • 快捷键方式

  • 运行保存

  • 另存文件

1.3 M文件的打开

  • 菜单方式

  • 快捷键方式

  • 命令方式:在命令窗口键入 edit 文件名

1.4 M文件的运行

  • 在edit环境下:单击“run

  • 快捷键方式:在键盘上“F5

  • 命令方式:在命令窗口键入文件名

2、主程序文件和函数程序文件

2.1 主程序文件

用户编制的程序

  • clearclear allclose all开头

  • 注释行以%开头

  • 程序主体,定义全局变量

2.2 函数文件

子程序文件,以函数的定义为第一行内容,以function为开始。可以是系统自带的函数文件,当然也可以自己定义。

二、条件控制结构

1、if条件控制结构

1.1 单分支结构

1.2 双分支结构

1.3 多分支结构

2、switch-case条件控制

可使程序在不同条件状况下执行不同命令

三、循环控制结构

1、for-end循环

主要用于以固定取值或循环次数的重复执行过程

格式:for end

 s1=0;
 for m=2:2:999
     s1=s1+m;
 ​
 end
 s1

2、while-end循环结构

主要用于不容易确定循环次数的条件下使用

 x=1;
 while x~=inf
     x1=x;
     x=x*2;
 end
 x1

四、其他常用语句

1、pause

时间暂停功能

  • pause:暂停至按下鼠标左键或者键盘任意键后再执行

  • pause(时间):暂停到设定时间后再继续执行

 t=0:pi/20:6*pi;
 y=2*sin(t)+3*sin(2*t);
 for n=1:100
     y1=y+rand(size(y));
     plot(t,y1);
     pause(0.03)
 end

2、input

从键盘键入数据

input(“提示文字”)

五、m文件的注释和调试

1、程序的注释

以“%”开头

2、程序的调试

Matlab的自动检查功能很强,如果程序有错误,则程序会停止,并将错误显示在命令窗口,而且提示错误所在的位置和错误的原因

六、数据分析函数库

1、基本数据分析

基本数据处理功能按列进行

函数功能
max()求各列最大值
min()求各列最小值
mean()求各列平均值
sum()求各列元素和
std()求各列标准差

标准差是指各列中N个元素与该列平均值之差的平方和再开方

2、用于随机数据分析的函数

  • rand(m,n):产生0~1之间均匀分布的m行,n列随机数矩阵

  • randn(m,n):产生正态分布的m行,n列随机数矩阵,均值0,标准差为1

3、用于相关分析的函数

  • corrcoef(x,y):计算两个向量x,y的相关系数

  • cov(x,y):计算x,y的协方差矩阵

七、多项式函数库

1、多项式的四则运算

1.1 多项式的表示

用各幂次前的系数表示,从高到低

a=[a(1),a(2),a(3)...a(n),a(n+1)]

注意:零系数不能省去

1.2 多项式的运算

  • 多项式相加:a+b

    注意:长度必须相同,在短的前面以0补齐

  • 多项式相乘:conv(a,b)

  • 多项式相除:[q,r]=deconv(a,b)

    q:商式

    r:余子式

    注意:a是分子,b是分母。分母系数项的第一位不能是零

 a=[2,4,6,8];
 b=[3,6,9];
 c=a+[0,b]
 d=conv(a,b)
 [q,r]=deconv(a,b)
 [q,r]=deconv(d,a)

2、多项式的求导、求根和求值

  • 多项式求导:polyder(a)

  • 多项式求根:roots(a)

  • 由根求多项式:poly(a)

  • 多项式求值:polyval(a,xv) 给多项式a中的自变量x赋予值xv

 a=[2,4,6,8];
 a1=polyder(a)
 a2=roots(a)
 a3=poly(a)
 a4=polyval(a,3)

3、多项式的拟合

拟合:根据一组已知数据找到其数学表达式

拟合方法:使方差最小,应用最小二乘法

p=polyfit(x,y,n)

x,y是已知的N个数据坐标向量,n是拟合的多项式次数,p是求出多项式系数向量

八、非线性函数分析及函数的数值分析

1、非线性函数分析

  • 绘制函数曲线:fplot(‘函数名’,[初值,终值])

  • 求函数极值:fmin(‘函数名’,初值,终值)

  • 求函数零点:fzero(‘函数名’,初猜值)

2、函数的数值积分

定积分子程序:quad(‘函数名’,初值,终值)

九、线性微分方程的解——拉普拉斯变换

首先利用拉普拉斯变换将线性常微分方程变换为代数方程,响应的表达式为s的有理分式
Y(s)=B(s)/A(s)

  • 部分分式展开:[r,p,k]=residue(b,a)

  • 求反变化:y(t)=r(1)*exp(p(1)*t)+r(2)*exp(p(2)*t)+r(3)*exp(p(3)*t)

  • 1
    点赞
  • 14
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

真的是小恐龙吗?

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值