版权声明:本文为博主原创文章,转载请注明来源 https://blog.csdn.net/C1664510416/article/details/81749870
从MATLAB官网获取函数文档
ans变量 是MATLAB默认的变量
----------------------------------------------
定义函数:
function [输出参数] = 函数名(输入参数)
函数体
end
例子:
function d =myfunc(a,b,c)
%实现abc的计算
d=(a^2+b)/c;
end
函数名和文件名一样
函数只能被调用,不能被直接执行,因为没有输出参数
A(:) // 是将A矩阵按列排成一列
grid on //打开图像的网格
-------------------------------------------------------------------------批量读取文件------------------------------------------------------------
clear;clc;close all
jpgimages=dir('myfolder\*.jpg'); % 读取指定文件夹下所有.jpg文件的信息
N=length(jpgimages); % .jpg文件的个数
Names={}; % 用于存放.jpg文件的文件名
IMs={}; % 用于存放每个.jpg文件的图像矩阵
for k=1:N
Names{k}=jpgimages(k).name; % 依次得到.jpg的文件名,存放在Names元胞数组里
IMs{k}=imread(['myfolder\' Names{k}]); % 依次得到.jpg的图像矩阵,存放在IMs元胞数组里
figure(k);
imshow(IMs{k});
end
---------------------------------------------------------------------分段函数的定义-------------------------------------------------------------------------------
%方法一(传递一个个参数,用函数进行判断,最后实现计算)
function y=myfun2(x)
if x>=0 && x<1
y=x*exp(1-x);
end
if x>=1 && x<2
y=1/x^2;
end
if x>=2 && x<=5
y=2*x-3.75;
end
if x<0 || x>5
y=NaN; % Not a Number
end
end
%方法二(传入整个向量【元胞存储】,分解判断,最后合并输出)
function Y=myfun3(X)
Y=[];
for k=1:length(X)
x=X(k);
if x>=0 && x<1
y=x*exp(1-x);
end
if x>=1 && x<2
y=1/x^2;
end
if x>=2 && x<=5
y=2*x-3.75;
end
if x<0 || x>5
y=NaN; % Not a Number
end
Y(k)=y;
end