matlab第二课--结构化程式与自定义函数

本文介绍了MATLAB编程的一些关键技巧,包括if-else、switch、while等控制结构的使用,以及如何通过预分配内存提升程序效率。此外,还讲解了自定义函数的创建,强调了函数句柄的运用。在程序运行中,使用'...'作为换行符,ctrl+c跳出循环,以及在运算后加分号抑制输出等实用技巧。最后,文章提供了一个涉及温度转换的循环实例,展示了如何在循环中使用break语句。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1.常用的结构化程式

if else语法
​ if(condition1)

​ statement1

​ else(else if (condition2))

​ statement2

​ end

switch语法
​ switch expression

​ case value1

​ statement1

​ case value2

​ statement2

​ …

​ otherwise

​ Final statement

​ end

while语法
​ while condition

​ statement

​ end

break语法
​ 与c一样

2.小技巧
2.1 "..."是换行符;当矩阵A中元素太多时,可使用该符号

2.2当程序在循环结构

运行时,可使用ctrl+c跳出循环

2.3使用循环语句时,应该尽量提前分配内存空间

Program2

tic

A = zeros(2000, 2000); 预先为变量分配内存空间

​ for ii = 1:2000

​ for jj = 1:2000

​ A(ii,jj) = ii + jj;

​ end

​ end

toc

程序花费2s 

Program1

tic

​ for ii = 1:2000

​ for jj = 1:2000

​ A(ii,jj) = ii + jj;

​ end

​ end

toc

程序花费4s

对于程序一,没有预先为变量A分配内存,因此每当A的形状发生改变时,都需要重新为A分配内存地址,这花费了更多的时间. 

 

3.自定义函数

1.自定义函数的文件名必须与函数名一致,以”函数名.m"来定义文件名

如文件acc.m

function [a F] =acc(v2,v1,t2,t1,m)
a=(v2-v1)./(t2-t1);
F=m.*a;

2.在自定义函数中的乘法与除法尽量用点乘(.*)与点除(./),这样的话如果以向量形式输入多个数据,自定义函数可以分别处理对应的数据而不会造成混乱 

function x=freebody(x0,v0,t)
x=x0+v0.*t+1/2*9.8*t.*t;

3. 

clear all % 清空工作区内存中的变量

close all % 关闭之前程序绘制的图像

clc % 清空之前程序在终端的输出

 

4.在运算和赋值语句后应添加分号;抑制输出

在所有运算和赋值语句都应该添加分号;抑制输出,若需要向终端输出一个变量,应对其调用disp方法.

4.第二课中的题目

test.m

function test()
H=input('请求输入温度(华氏度):');
while ~isempty(H)
    C=(H-32).*(5/9);
    display(['转化为摄氏度为:',num2str(C)]);
    test();
    break;
end

5.以函数句柄的形式定义函数

函数句柄 = @(输入变量) 输出变量

eg.

若有下列语句:xsqual=@(x)exp(-2*x)

则相当于建立了一个函数文件:

% xsqual.m

function y=xsqual(x)

y=exp(-2*x);
 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值