一、自定义函数
格式:函数句柄 = @(自变量列表)函数表达式
例1 定义函数,并计算f(x)在点x=-2,1,2.5,3,5.2的值。
f=@(x)x.^2+3*x+5 x=[-2,1,2.5,3,5.2] y1=f(x)
二、 m-文件函数(子程序) 格式:function [y1,y2]=ff(x1,x2) …… y1=… y2=… 输入变量:x1,x2,输出变量:y1,y2 注:输入、输出变量可以为1个或多个。
例3 建立函数,实现输入矩阵x,输出x的最大元素与最小元素以及该矩阵的秩。然后调用该函数。
function [M,m,r]=fun303(x)
r=rank(x);
b=x(1:end);
y=sort(b);
M=y(end);
m=y(1);
流程控制语句
一、分支结构
1. if条件语句
2. switch 分值选择语句
例4 自定义函数, 对数组x做如下处理: 记数组x所有元素和为s, (1)若s除以5余数为1, 求出x中所有奇数的和。 (2)若s除以5余数为4, 求出x中所有偶数的和。 (3)其余情况求出x中 最大值与最小值的差。
function y=ff(x)
switch mod(sum(x),5);
case 1
t=mod(x,2); y=sum(t.*x);
case 4
t=1-mod(x,2); y=sum(t.*x);
otherwise
y=max(x)-min(x);% t=sort(x);
y=t(end)-t(1);
end
x=[2,-4,3,6,7,11]
y=ff(x)
二、循环结构
1. for 循环语句
若数组为行向量,依次取数组元素执行循环体。 若数组为矩阵,依次取矩阵的列执行循环体
例5 随机生成15个0~99的整数构成数组x,并构造下列数组:
(1)将数组x的第偶数个元素平方,其余元素不变。
(2)将数组x的第偶数个元素乘以2,其余元素置0。
x=floor(rand(1,15)*100);
y1=x;
y2=zeros(1,15);
for i=2:2:14
y1(i)=x(i)^2;
y2(i)=2*x(i);
end
[x;y1;y2]
例6 数组x=(8,3,5,-1,6,10,7,2,9,11),求出其中所有除以5余1的元素之和
以及所有除以5余4的元素之和.
x=[8,3,5,-1,6,10,7,2,9,11];
s1=0; s2=0;
for m=x
switch mod(m,5)
case 1
s1=s1+m;
case 4
s2=s2+m;
end
end
s1,s2
不用循环完成
x=[8,3,5,-1,6,10,7,2,9,11];
i1=find(mod(x,5)==1);
s1=sum(x(i1))
i2=find(mod(x,5)==4);
s2=sum(x(i2))
2. while-end 循环语句
注:表达式一般是由逻辑运算和关系运算组成的表达式, 表达式的值非零继续循环,表达式值为0终止循环。
例8 记三位正整数x的
个位为a,十位为b,百位为c
求出满足ab-2c=4a+b(c+2)的
第一个三位数。
N=100; m=1;
while m
a=mod(N,10);
b=mod((N-a)/10,10);
c=(N-a-10*b)/100;
if a*b-2*c==4*a+b*(c+2)
m=0;
N1=N;
end
N=N+1;
end
N1
三、 程序的流程控制命令:
continue 终止一次循环 break 结束循环
例9 在20-100的整数中,
找出不能被2或3或5或7
整除的数
clear,clc
i=1;
for n=20:100
if mod(n,2)==0|mod(n,3)==0
|mod(n,5)==0|mod(n,7)==0
continue
else
X(i)=n; i=i+1;
end
end
X
相关知识
基于Matlab植物虫害检测(GUI,注释svm算法)
基于颜色特征的农作物病虫害检测(MATLAB程序+word报告)
【优化覆盖】基于matlab入侵杂草和花授粉混合算法无线传感器覆盖优化问题【含Matlab源码 1328期】
2023年汉江师范学院普通专升本《C语言程序设计》考试大纲
MATLAB
【免费】中山大学大学生程序设计竞赛2>=
使用感知器神经网络的监督学习进行花卉分类(Matlab代码实现)
基于matlab的神经网络的农业病虫害损失预测
python 和 MATLAB 都能绘制的母亲节花束!!
广东海洋大学C程序设计试卷(第1套)
网址: matlab程序设计 https://m.huajiangbk.com/newsview158043.html
上一篇: 平板显示行业记录 雪球集锦,版权 |
下一篇: 已知圆曲线半径为R=800m,转 |