首页 > 分享 > matlab程序设计

matlab程序设计

一、自定义函数

格式:函数句柄 = @(自变量列表)函数表达式

例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,转