Matlab 如何使多元函数以矩阵为输入,以向量为输出?
对不起,如果这个问题被问死了。假设我定义了这样一个函数Matlab 如何使多元函数以矩阵为输入,以向量为输出?,matlab,function,matrix,vector,Matlab,Function,Matrix,Vector,对不起,如果这个问题被问死了。假设我定义了这样一个函数 function out = myfun (x) out = x(1).^2 + x(2).^2; end 给出一个矩阵,如 X = unifrnd(0,1,100,2); 我想得到一个向量Y,对于I=1,2,…100 Y(i) = myfun(X(i,:)); 有什么函数可以用来避免涉及循环吗?unifrnd(100,2)这里不是问题吗 连续均匀分布的均匀随机阵列 R=unifrnd(A,B)返回从 从A到B区间上的连续均匀分布。尺
function out = myfun (x)
out = x(1).^2 + x(2).^2;
end
给出一个矩阵,如
X = unifrnd(0,1,100,2);
我想得到一个向量Y,对于I=1,2,…100
Y(i) = myfun(X(i,:));
有什么函数可以用来避免涉及循环吗?unifrnd(100,2)这里不是问题吗
连续均匀分布的均匀随机阵列
R=unifrnd(A,B)返回从
从A到B区间上的连续均匀分布。尺寸
如果A和B都是数组,则R的大小是它们的公共大小。如果有的话
参数是标量,R的大小是另一个的大小
参数
R=unifrnd(A,B,M,N,…)或R=unifrnd(A,B,[M,N,…)
返回一个M-by-N-by-。。。数组
现在回答这个问题。。。 功能更改为处理输入的列…
这是相对简单的处理元素级幂和索引列
function out = myfun (X)
out = X(:,1).^2 + X(:,2).^2;
end
用法
lower_lim = 0
upper_lim = 1
X = unifrnd(lower_lim,upper_lim,100,2)
Y = myfun(X)
X
是否总是两列大小?@BillBokeey抱歉,应该是X=unifrnd(0,1100,2);对不起我的错误。你的解决方案完全可行。谢谢。不用担心,还有一点额外的注释:如果整个数组都来自同一个发行版unifrnd
有点过头了,只需rand(100,2)
就可以满足0-1的范围,或者缩放到最小值maxmin+rand(100,2)*(max-min)