一起来学matlab-matlab学习笔记13函数

13_1 函数返回值

觉得有用的话,欢迎一起讨论相互学习~Follow Me

函数返回一个值

返回值不必使用return语句,而是直接将需要返回的变量或矩阵写在function后面

function 返回值/返回矩阵=该函数文件名(参数1,参数2,参数3...参数n)

function x=init_x(x,m,n)

for i=1:m

for j=1:n

x(i,j)=randsample(20,1);

end

end

此示例表示通过参数传入x,m,n的值,然后返回改变之后的x

示例

现在需要将xx矩阵元素完全赋值给一个新矩阵yy,即复制,具体代码如下:

主函数 execute_1.m

clc

clear

%定义xx,yy矩阵大小

m=3;

n=1;

xx=zeros(m,n);

yy=zeros(m,n);

%初始化xx

xx=init_x(xx,m,n);

%将xx矩阵赋值给yy

yy=function_1(xx,yy,m,n

初始化xx的函数 init_x.m

function x=init_x(x,m,n)

for i=1:m

for j=1:n

x(i,j)=randsample(20,1);

end

end

赋值函数 function_1.m

function y=function_1(x,y,m,n)

for i=1:m

for j=1:n

y(i,j)=x(i,j);

end

end

结果截图

函数返回多个值

function [返回值1/返回矩阵1,返回值2/返回矩阵2,...,返回值n/返回矩阵n]=该函数文件名(参数1,参数2,...,参数n)

示例

将xx矩阵和yy矩阵的元素全部交换,并且二者相加后得到一个新矩阵zz

主函数 execute_2.m

clc

clear

%定义xx,yy,zz矩阵大小

m=3;

n=1;

xx=zeros(m,n);

yy=zeros(m,n);

zz=zeros(m,n);

%初始化xx,yy

xx=init_x(xx,m,n)

yy=init_y(yy,m,n)

%交换xx矩阵和yy矩阵的元素,并求出xx和yy相加的新矩阵zz

[xx,yy,zz]=function_2(xx,yy,zz,m,n)

初始化xx和yy的函数 init_x.m,init_y.m

function x=init_x(x,m,n)

for i=1:m

for j=1:n

x(i,j)=randsample(20,1);

end

end

function y=init_y(y,m,n)

for i=1:m

for j=1:n

y(i,j)=randsample(20,1);

end

end

交换矩阵元素以及相加函数 function_2.m

function [x,y,z]=function_2(x,y,z,m,n)

tempx=x;%中间变量

%x和y交换

for i=1:m

for j=1:n

x(i,j)=y(i,j);

y(i,j)=tempx(i,j);

end

end

%x加上y

for i=1:m

for j=1:n

z(i,j)=x(i,j)+y(i,j);

end

end

Logo

魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。

更多推荐