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);