首 页 行业热点 新车 试驾评测 养车用车 车型库

matlab 函数y=f(input,output)该如何实现?

发布网友

我来回答

3个回答

热心网友

一个函数只有一个对外的接口,那就是输入参数,如果想改变的这个数不是已有的输入参数,那就没法通过这个函数来改变。只能再写一个函数了。
一般来说matlab中函数的 function output = f (input) 括号里才是输入,output才是输出
但是要求y=f(input,output)中y,和output都是输出:y是输出并做返回值,output也是输出,但是不作为返回值,如下:
% 函数
function y = f (a, output)
% y output 为输出参数
% a 为输入参数
% 此例子计算a的平方的结果,保存在y中, 同时output中也保存一份b的平方的结果

y=a^2;
output=y; 让output和y相等并下面屏幕打印
fprintf(' output = %d\n', output);

% 调用上面这个函数
clc; % 清楚屏幕上的现有输出
clear; % 清楚当前已有的变量
close all; % 关闭当前所以打开的figure窗口
a=2;
y=f(a, b) % 调用函数 此时y=4 并且屏幕打印出 output=4

热心网友

LZ的问题没有太搞明白。你的意思是有两个输出吗?那[y,output]=f(input)不就好了吗?如果我的理解有误,请把问题再说清楚一点。追问简单来说就是需要改变传入参数的值,而且不通过 function p=f(p)这样的形式。这个形式是定死了的,我没有办法改...

追答按你的意思貌似是不行的。一个函数只有一个对外的接口,那就是输入参数,如果你想改变的这个数不是已有的输入参数,那就没法通过这个函数来改变。。只能再写一个函数了,我感觉。

热心网友

一般来说matlab中函数的 function output = f (input) 括号里才是输入,output才是输出
但是你要求y=f(input,output)中y,和output都是输出,那我个人理解:y是输出并做返回值,output也是输出,但是不作为返回值,这里我就将它打印出来,如下:

% 函数
function y = f (a, output)
% y output 为输出参数
% a 为输入参数
% 此例子计算a的平方的结果,保存在y中, 同时output中也保存一份b的平方的结果

y=a^2;
output=y; 让output和y相等并下面屏幕打印
fprintf(' output = %d\n', output);

% 调用上面这个函数
clc; % 清楚屏幕上的现有输出
clear; % 清楚当前已有的变量
close all; % 关闭当前所以打开的figure窗口
a=2;
y=f(a, b) % 调用函数 此时y=4 并且屏幕打印出 output=4

声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com