相关疑难解决方法(0)

MATLAB函数中的可选参数

如何在MATLAB中用可选参数声明函数?

例如:function [a] = train(x, y, opt),opt必须是可选参数.

math parameters matlab arguments function

59
推荐指数
4
解决办法
10万
查看次数

MATLAB是否支持命名参数?

可能重复:
Matlab中的默认参数
如何处理MATLAB中函数参数的名称/值对

如果需要使用可选参数的音调创建函数,该怎么办?有没有办法在命名传递的参数后调用该函数以提高可读性:

foo(123, and=456)
Run Code Online (Sandbox Code Playgroud)

matlab

7
推荐指数
1
解决办法
8096
查看次数

MATLAB是否允许为python这样的函数分配输入参数的默认值?

我正在开发一个项目,并且有许多函数需要创建,并且它们确实需要大量的调试,所以不必只是按下运行按钮,我必须转到命令窗口并给出一个函数调用.

MATLAB是否支持为python输入参数分配默认值?

在python中

def some_fcn(arg1 = a, arg2 = b)
% THE CODE
Run Code Online (Sandbox Code Playgroud)

如果你现在调用它而不传递参数它不会给出错误,但如果你在MATLAB中尝试相同它会给出一个错误.

matlab arguments function default-value optional-parameters

7
推荐指数
3
解决办法
9524
查看次数

一次分配多个字段的聪明方法?

由于遗留函数调用,我有时会被迫编写像这样的丑陋包装器

function return = someWrapper(someField)

a = someField.a;
b = someField.b;
% and so on, realistically it's more like ten variables that
% could actually be grouped in a struct

save('params.mat', 'a', 'b'); %etc.

% then, on another machine, a function loads params.mat, does the calculations
% and saves the result in result.mat containing the variables c,d,...

load('result.mat', 'c', 'd');
return.c = c;
return.d = d;
% again, it's more than just two return values
Run Code Online (Sandbox Code Playgroud)

因此,基本思想是创建与someField字段名称相同的变量,运行函数并return使用 …

matlab struct loops wrapper

3
推荐指数
1
解决办法
3282
查看次数

在MATLAB中有选择地指定可选功能参数

可能重复:
Matlab中的默认参数

我有一个函数,大约有7个参数要传递.其中3个是强制性的,其余4个是可选参数.我想只传递前3个和最后一个参数.我该怎么做呢?

我们假设函数是:function [...] = fun(a,b,c,d,e,f,g)

a,b,c - 所需的输入.

d,e,f,g - 可选输入.

我想打电话给乐趣并传递a,b,c和g的值.

在R中,我可以用非常简洁的方式指定它:fun(a = 1,b = 4,c = 5,g = 0);

matlab中的等效语法是什么?

matlab

3
推荐指数
1
解决办法
6005
查看次数

将值传递给MatLab中的函数

可能重复:
Matlab中的默认参数

我在Matlab,test1和test2中有两个函数,如下所示.

function [C,D] = test1(A,B)

A = 50;
B = 20;

C = A + B;
D = A - B;

end
Run Code Online (Sandbox Code Playgroud)

function test2

C = 1000;
D = 500;

[A,B] = test1(C,D);

display(A)
display(B)

end
Run Code Online (Sandbox Code Playgroud)

现在我想要做的是在函数test1中为A和B设置默认值,但也能够从函数test2等另一个函数传递函数test1不同的值.因此默认情况下,在函数test1中将A和B设置为50和20,但是函数test2能够用1000和500替换它们,并获得等效的C和D结果(在1000和500的情况下,得到结果)分别为C和D的1500和500)

我怎样才能做到这一点?任何帮助将不胜感激.谢谢

matlab function

0
推荐指数
1
解决办法
291
查看次数