How to Assign These Values to This Struct?

As an example, I want to dynamically assign four output arguments of ttest function to four field of struct A, but I get the error: “Subscripted assignment dimension mismatch.” What is the solution?
for i = 1:5
[A.B.h(i,1), A.B.p(i,1), A.B.ci(i,1), A.B.stats(i,1)] = ttest(X1, X2);
end;

 Accepted Answer

Try like this:
for i = 1:5
[out1,out2,out3,out4] =ttest(X1, X2);
A.B.h(i,1) = out1 ;
A.B.p(i,1)= out2 ;
A.B.ci(i,1) = out3 ;
A.B.stats(i,1) =out4 ;
end

4 Comments

Thanks! So I cannot assign values to the fields directly inside the function?
It can be done...but we need to see the function ttest
it is a built-in function of MATLAB. Like here
Then it is better to follow as what I suggested.

Sign in to comment.

More Answers (0)

Categories

Asked:

on 3 Mar 2017

Commented:

on 3 Mar 2017

Community Treasure Hunt

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

Start Hunting!