Optimization of a matrix variable

Hello all,
I am writting a code for optimization where I have a optimizing variable as a matrix of N*L.How I can declare this matrix variables within a function as an objective function?
I am trying like that,
N=2;
L=10;
z = rand(N,L);
r= mainfcn(z,N)
function r= mainfcn(z,N)
a=z(N:L);
r = a.^2- 1;
end
here I am getting 'a'= as a vector not a matrix. How I can make 'a' as a matrix of N*L?
Thanks in advance.

 采纳的回答

By:
a = z; % instead of z(N:L)
? This looks trivial, so do I oversee a detail?

2 个评论

Now it's working. Thanks a lot.
Hey, sorry for bothering you,
If,
z = rand(3,2);
r= mainfcn(z)
function r= mainfcn(z)
a=z(1:L); ----> want only first row(1*2 vector)
b= z(2:end); -----> want 2nd row and 3rd row(2*2 matrix)
r = a.^2+b.^2- 1;
end
How I can correct this code?

请先登录,再进行评论。

更多回答(0 个)

类别

帮助中心File Exchange 中查找有关 Get Started with Optimization Toolbox 的更多信息

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by