Shorten code for a function

3 次查看(过去 30 天)
Hi
Please I have this function
fnP=@(a,i)(sum(a(i)>a(1:i))+0.5*sum(a(i)==a(1:i)))/i;
and I get generated result for each column
for instance
m1 = fnP(result, 1)
m2 = fnP(result, 2)
m3 = fnP(result, 3)
.
.
.
mn =fnP(result, n)
and so on
I will like a short code that will give me the m results without having to repeat m1, m2, m3 , m4... etc the code for 800 column datapoint
Thanks in advance
Tino
  1 个评论
Stephen23
Stephen23 2019-5-15
@Tino: using numbered variables is a sign that you are doing something wrong. It is simpler and much more efficient to use indexing into one array.

请先登录,再进行评论。

采纳的回答

madhan ravi
madhan ravi 2019-5-15
m=cell(5,1);
for k=1:5
m{k}=fnP(result,k);
end
  3 个评论
Tino
Tino 2019-5-15
Hi Madhan
How do I refer to the cell of m
for instance I want to want to use the code
x = m(: , :) ^ (2 * 5.2)
I am getting the error. Unable to use value of type 'cell' as an index
How do I go about it
thanks in advance

请先登录,再进行评论。

更多回答(0 个)

类别

Help CenterFile Exchange 中查找有关 Programming 的更多信息

标签

产品


版本

R2019a

Community Treasure Hunt

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

Start Hunting!

Translated by