Matlab的函数中如何实现按引用传递参数?
来源:学生作业帮 编辑:作业帮 分类:综合作业 时间:2024/11/07 16:49:12
Matlab的函数中如何实现按引用传递参数?
几经摸索,总算被俺发现了一种可以替代的方法,就是让函数的参数同时作为同名返回值(实际上不一定非得同名,同名是为了代码理解起来方便),这样便可实现“在函数内部修改参数,外部参数的实际值也会发生变化”的功能.
下面是一个小例子. 文件test.m的源代码如下:
function test
% 测试函数disp('按值传递参数,调用函数后,应有p=1');p=1;parameter_by_value(p);
disp(p); % p=1 disp('按引用传递参数,调用函数后,应有p=2');
p=parameter_by_reference(p);
disp(p); % p=2disp('按引用传递参数,调用函数后,应有p1=2, p2=4, p3=6');p1=1;p2=2;p3=3;[p1,p2,p3]=multi_parameter_by_reference(p1,p2,p3);
disp([p1 p2 p3]);%---- 以下为几个子函数 ----------------function parameter_by_value(p)
% 按值传递参数
% 函数内部改动参数p,函数外p的值应该不变
p=2*p;function p=parameter_by_reference(p)
% 模拟按引用传递参数
% 函数内部改动参数p,函数外p的值也会变.
下面是一个小例子. 文件test.m的源代码如下:
function test
% 测试函数disp('按值传递参数,调用函数后,应有p=1');p=1;parameter_by_value(p);
disp(p); % p=1 disp('按引用传递参数,调用函数后,应有p=2');
p=parameter_by_reference(p);
disp(p); % p=2disp('按引用传递参数,调用函数后,应有p1=2, p2=4, p3=6');p1=1;p2=2;p3=3;[p1,p2,p3]=multi_parameter_by_reference(p1,p2,p3);
disp([p1 p2 p3]);%---- 以下为几个子函数 ----------------function parameter_by_value(p)
% 按值传递参数
% 函数内部改动参数p,函数外p的值应该不变
p=2*p;function p=parameter_by_reference(p)
% 模拟按引用传递参数
% 函数内部改动参数p,函数外p的值也会变.
Matlab的函数中如何实现按引用传递参数?
如何在MATLAB中实现函数间的参数传递
matlab 函数参数传递
matlab如何在积分时给函数传递参数?
如何在matlab定义函数中定义参数的数据类型
将两维数组int[10][20]传递给一个函数是如何定义函数参数?在函数中如何引用a[i][j
matlab中如何实现Q函数的反函数
在matlab中如何实现函数的抽样
matlab如何绘制参数函数的图像?
函数的参数传递有三种方式,1)按值传递,2)以指针方式传递,3)以引用方式传递.编写一个函数交换两个变量的值为例,验证是
EXCEL中,单元格2引用单元格1公式时,其引用的参数也随单元格2位置的变动而变动,如何实现
matlab非线性规划fmincon函数中目标函数参数传递问题,