标签:
matlab按引用传参 |
分类: Matlab编程 |
Matlab的函数中如何实现按引用传递参数?(原创)
-- by benbenknight
文件test.m的源代码如下:
function test
% 测试函数
disp('按值传递参数,调用函数后,应有p=1');
p=1;
parameter_by_value(p);
disp(p);
disp('按引用传递参数,调用函数后,应有p=2');
p=parameter_by_reference(p);
disp(p);
disp('按引用传递参数,调用函数后,应有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的值也会变。
p=2*p;
function [p1,p2,p3]=multi_parameter_by_reference(p1,p2,p3)
% 模拟按引用传递多个参数
p1=2*p1;
p2=2*p2;
p3=2*p3;

加载中…