Matlab学习记录11

书籍:Matlab实用教程

工具:Matlab2021a

电脑信息:Intel® Xeon® CPU E5-2603 v3 @ 1.60GHz

系统类型:64位操作系统,基于X64的处理器 windows10 专业版

第5章 Matlab程序设计

5.1 脚本文件盒函数文件

5.1.1 M文本编辑器

5.1.2 M文件的基本格式

复制代码
x=0:0.1:20;
y=1-1/sqrt(1-0.3^2)*exp(-0.3*x).*sin(sqrt(1-0.3^2)*x+acos(0.3));
plot(x,y,'r')

5.1.3 M脚本文件

复制代码
x=0:0.1:20;
y1=1-1/sqrt(1-0.3^2)*exp(-0.3*x).*sin(sqrt(1-0.3^2)*x+acos(0.3));
plot(x,y1,'r')
hold on
y2=1-1/sqrt(1-0.707^2)*exp(-0.707*x).*sin(sqrt(1-0.707^2)*x+acos(0.707));
plot(x,y2,'g')
y3=1-exp(-x).*(1+x);
plot(x,y3,'b')

5.1.4 M 函数文件

5.2 程序流程控制

5.2.1 for...end循环结构

复制代码
sum=0;
for n=0:2:100
	sum=sum+n
end

sum = 0
sum = 2
sum = 6
sum = 12
sum = 20
sum = 30
sum = 42
sum = 56
sum = 72
sum = 90
sum = 110
sum = 132
sum = 156
sum = 182
sum = 210
sum = 240
sum = 272
sum = 306
sum = 342
sum = 380
sum = 420
sum = 462
sum = 506
sum = 552
sum = 600
sum = 650
sum = 702
sum = 756
sum = 812
sum = 870
sum = 930
sum = 992
sum = 1056
sum = 1122
sum = 1190
sum = 1260
sum = 1332
sum = 1406
sum = 1482
sum = 1560
sum = 1640
sum = 1722
sum = 1806
sum = 1892
sum = 1980
sum = 2070
sum = 2162
sum = 2256
sum = 2352
sum = 2450
sum = 2550

sum=zeros(6,1);
for n=eye(6,6)
	sum=sum+n
end

sum =

   1
   0
   0
   0
   0
   0

sum =

   1
   1
   0
   0
   0
   0

sum =

   1
   1
   1
   0
   0
   0

sum =

   1
   1
   1
   1
   0
   0

sum =

   1
   1
   1
   1
   1
   0

sum =

   1
   1
   1
   1
   1
   1

5.2.2 while...end循环结构

复制代码
sum=0;
n=1;
while n<=100
	sum=sum+n
	n=n+2
end

sum = 1
n = 3
sum = 4
n = 5
sum = 9
n = 7
sum = 16
n = 9
sum = 25
n = 11
sum = 36
n = 13
sum = 49
n = 15
sum = 64
n = 17
sum = 81
n = 19
sum = 100
n = 21
sum = 121
n = 23
sum = 144
n = 25
sum = 169
n = 27
sum = 196
n = 29
sum = 225
n = 31
sum = 256
n = 33
sum = 289
n = 35
sum = 324
n = 37
sum = 361
n = 39
sum = 400
n = 41
sum = 441
n = 43
sum = 484
n = 45
sum = 529
n = 47
sum = 576
n = 49
sum = 625
n = 51
sum = 676
n = 53
sum = 729
n = 55
sum = 784
n = 57
sum = 841
n = 59
sum = 900
n = 61
sum = 961
n = 63
sum = 1024
n = 65
sum = 1089
n = 67
sum = 1156
n = 69
sum = 1225
n = 71
sum = 1296
n = 73
sum = 1369
n = 75
sum = 1444
n = 77
sum = 1521
n = 79
sum = 1600
n = 81
sum = 1681
n = 83
sum = 1764
n = 85
sum = 1849
n = 87
sum = 1936
n = 89
sum = 2025
n = 91
sum = 2116
n = 93
sum = 2209
n = 95
sum = 2304
n = 97
sum = 2401
n = 99
sum = 2500
n = 101

5.2.3 if...else...end条件转移结构

复制代码
x=0:0.1:20;
zeta=0.5;
if(zeta>0)&(zeta<1)
	y=1-1/sqrt(1-zeta^2)*exp(-zeta*x).*sin(sqrt(1-zeta^2)*x+acos(zeta));
elseif zeta==1
	y=1-exp(-x).*(1+x);
end
plot(x,y)
复制代码
x=0:0.1:20;
zeta=1;
if(zeta>0)&(zeta<1)
	y=1-1/sqrt(1-zeta^2)*exp(-zeta*x).*sin(sqrt(1-zeta^2)*x+acos(zeta));
elseif zeta==1
	y=1-exp(-x).*(1+x);
end
plot(x,y)

5.2.4 switch...case开关结构

复制代码
for month=1:12
	switch month
	case{3,4,5}
		season='spring'
	case{6,7,8}
		season='summer'
	case{9,10,11}
		season='autumn'
	otherwise
		season='winter'
	end
end

season = winter
season = winter
season = spring
season = spring
season = spring
season = summer
season = summer
season = summer
season = autumn
season = autumn
season = autumn
season = winter

5.2.5 try...catch...end试探结构

复制代码
n=4;
a=magic(n);
m=3;
b=eye(3);
try
	c=a*b
catch
	c=a(1:m,1:m)*b
end
lasterr

c =

   16    2    3
    5   11   10
    9    7    6

ans = operator *: nonconformant arguments (op1 is 4x4, op2 is 3x3)

5.2.6 流程控制语句

1、break

复制代码
sum=0;
n=1;
while n<=100
	if sum<1000
		sum=sum+n
		n=n+2
	else
		break
	end
end

sum = 1
n = 3
sum = 4
n = 5
sum = 9
n = 7
sum = 16
n = 9
sum = 25
n = 11
sum = 36
n = 13
sum = 49
n = 15
sum = 64
n = 17
sum = 81
n = 19
sum = 100
n = 21
sum = 121
n = 23
sum = 144
n = 25
sum = 169
n = 27
sum = 196
n = 29
sum = 225
n = 31
sum = 256
n = 33
sum = 289
n = 35
sum = 324
n = 37
sum = 361
n = 39
sum = 400
n = 41
sum = 441
n = 43
sum = 484
n = 45
sum = 529
n = 47
sum = 576
n = 49
sum = 625
n = 51
sum = 676
n = 53
sum = 729
n = 55
sum = 784
n = 57
sum = 841
n = 59
sum = 900
n = 61
sum = 961
n = 63
sum = 1024
n = 65

2、continue

复制代码
sum=2;
ss=0;
for n=3:100
	for m=2:fix(sqrt(n))
		if mod(n,m)==0
			ss=1;
			break;
		else
			ss=0;
		end
	end
	if ss==1
		continue;
	end
	sum=sum+n;
end
sum

sum = 1060

3、return

4、pause

5、keyboard

6、input

相关推荐
cici158742 小时前
基于高斯混合模型(GMM)的说话人识别系统MATLAB实现
开发语言·人工智能·matlab
Mabnus2 小时前
降钙素基因相关肽CGRP
学习
itwangyang5202 小时前
macOS(Sequoia 15.x)+ MacTeX 2025 + TeXShop + 期刊模板
java·开发语言·macos
2301_807288632 小时前
MPRPC项目(第八天,(消费者视角)RpcChannel的调用过程以及实现)
开发语言·qt
bu_shuo2 小时前
GUI_Syre报错问题解决
matlab·synrm·syr-e
gihigo19982 小时前
回溯搜索法与梯度下降/牛顿迭代结合的MATLAB优化实现
开发语言·matlab
fengfuyao9852 小时前
基于MATLAB的图像融合评价指标实现方案
开发语言·matlab
程员外2 小时前
如何优化MATLAB动画的性能?从卡顿到流畅的实战技巧
matlab
youngee112 小时前
hot100-49前缀树
开发语言·c#